Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dies sind die häufigsten bekannten Probleme mit NuGet, die wiederholt gemeldet werden. Wenn Sie Probleme beim Installieren von NuGet oder beim Verwalten von Paketen haben, schauen Sie sich diese bekannten Probleme und deren Lösungen an.
Hinweis
Ab NuGet 4.0 sind bekannte Probleme Teil der jeweiligen Versionshinweise.
NuGet-Überwachungseinstellungen werden möglicherweise nicht ordnungsgemäß auf Projekte angewendet, die packages.config in Visual Studio 17.10 verwenden
NuGet-Überwachungsunterstützung wurde für packages.config Projekte ab NuGet 6.10 und Visual Studio 17.10 hinzugefügt. Informationen zum Konfigurieren der NuGet-Überwachung finden Sie in unseren Dokumenten zu Überwachungspaketen.
Problem:
Wenn zwei oder mehr Projekte, die packages.config in der Projektmappe verwenden, denselben Projektnamen verwenden, wählt NuGet Audit eines aus und verwendet die gleichen NuGet-Überwachungseinstellungen für beide Projekte.
Das Tracking-Problem zum Entfernen dieser Einschränkung ist auf GitHub verfügbar.
Problemumgehung:
Wenn alle Projekte mit demselben Namen dieselben Konfigurationswerte verwenden, gibt es keinen Funktionsunterschied, wenn NuGet ein Projekt mithilfe der Konfiguration eines anderen Projekts wiederhergestellt.
NuGet.exe hat diese Einschränkung nicht, sodass Sie NuGet.exe herunterladen und es auf Ihrer Lösung ausführen NuGet.exe restore können, um festzustellen, ob die NuGet-Überwachungswarnungen in der Befehlszeile anders sind als das, was Visual Studio meldet.
Wenn es möglich ist, die Projekte so umzubenennen, dass sie unterschiedliche Projektnamen haben, tritt dieses Problemszenario nicht auf.
Authentifizierungsprobleme mit NuGet-Feeds in VSTS mit nuget.exe v3.4.3
Problem:
Wenn wir den folgenden Befehl verwenden, um die Anmeldeinformationen zu speichern, wird das persönliche Zugriffstoken doppelt verschlüsselt.
$PAT = "Ihr persönliches Zugriffstoken" $Feed = "Ihre URL" .\nuget.exe Quellen fügen -Name Test--Source $Feed -UserName $UserName -Password $PAT
Problemumgehung:
Speichern Von Kennwörtern im Klartext mithilfe der Option "-StorePasswordInClearText ".
Fehler beim Installieren von Paketen mit NuGet 3.4, 3.4.1
Problem:
In NuGet 3.4 und 3.4.1 werden bei Verwendung des NuGet-Add-Ins keine Quellen als verfügbar gemeldet, und Sie können keine neuen Quellen im Konfigurationsfenster hinzufügen. Das Ergebnis ähnelt der abbildung unten:
Die NuGet.Config Datei in Ihrem %AppData%\NuGet\ (Windows)- oder ~/.nuget/ (Mac/Linux)-Ordner wurde versehentlich geleert. Um dies zu beheben: Schließen Sie Visual Studio (unter Windows, falls zutreffend), löschen Sie die NuGet.Config Datei, und versuchen Sie es erneut. NuGet hat ein neues NuGet.Config generiert, und Sie sollten in der Lage sein, den Vorgang fortzusetzen.
Fehler beim Installieren von Paketen mit NuGet 2.7
Problem:
Wenn Sie in NuGet 2.7 oder höher versuchen, ein Paket zu installieren, das Assemblyverweise enthält, wird möglicherweise die Fehlermeldung "Eingabezeichenfolge war nicht in einem korrekten Format" angezeigt, wie unten:
install-package log4net
Installing 'log4net 2.0.0'.
Successfully installed 'log4net 2.0.0'.
Adding 'log4net 2.0.0' to Tyson.OperatorUpload.
Install failed. Rolling back...
install-package : Input string was not in a correct format.
At line:1 char:1
install-package log4net
~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo : NotSpecified: (:) [Install-Package], FormatException
FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Der Grund dafür ist, dass die Typbibliothek für die VSLangProj.dll COM-Komponente auf Ihrem System nicht registriert ist. Dies kann beispielsweise passieren, wenn Sie zwei Versionen von Visual Studio nebeneinander installiert haben und dann die ältere Version deinstallieren. Auf diese Weise kann die Registrierung der obigen COM-Bibliothek versehentlich aufgehoben werden.
Lösung::
Führen Sie diesen Befehl über eine Eingabeaufforderung mit erhöhten Rechten aus, um die Typbibliothek neu zu registrieren für VSLangProj.dll
regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VsLangproj.olb"
Wenn der Befehl fehlschlägt, überprüfen Sie, ob die Datei an diesem Speicherort vorhanden ist.
Weitere Informationen zu diesem Fehler finden Sie in diesem [work item](https://nuget.codeplex.com/workitem/3609 "Work item 3609")Artikel.
Buildfehler nach paketupdate in VS 2012
Das Problem: Sie verwenden VS 2012 RTM. Beim Aktualisieren von NuGet-Paketen erhalten Sie die folgende Meldung: "Mindestens ein Paket konnte nicht deinstalliert werden." Und Sie werden aufgefordert, Visual Studio neu zu starten. Nach dem Neustart von VS erhalten Sie seltsame Buildfehler.
Die Ursache ist, dass bestimmte Dateien in den alten Paketen durch einen MSBuild-Hintergrundprozess gesperrt werden. Auch nach dem Neustart von VS verwendet der MSBuild-Hintergrundvorgang weiterhin die Dateien in den alten Paketen, was zu Buildfehlern führt.
Der Fix besteht darin, VS 2012 Update zu installieren, z. B. VS 2012 Update 2.
Das Upgrade auf das neueste NuGet von einer älteren Version führt zu einem Signaturüberprüfungsfehler.
Wenn Sie VS 2010 SP1 ausführen, wird beim Versuch, NuGet zu aktualisieren, möglicherweise die folgende Fehlermeldung angezeigt, wenn Eine ältere Version installiert ist.
Beim Anzeigen der Protokolle wird möglicherweise eine Erwähnung von SignatureMismatchException.
Um dies zu verhindern, gibt es einen Visual Studio 2010 SP1-Hotfix , den Sie installieren können. Alternativ besteht die Problemumgehung darin, NuGet einfach zu deinstallieren (während Visual Studio als Administrator ausgeführt wird) und dann aus dem VS-Erweiterungskatalog zu installieren. Weitere Informationen finden Sie unter https://support.microsoft.com/kb/2581019.
Die Paket-Manager-Konsole löst eine Ausnahme aus, wenn auch das Reflector Visual Studio-Add-In installiert ist.
Wenn Sie die Paket-Manager-Konsole ausführen, wird möglicherweise die folgende Ausnahmemeldung angezeigt, wenn das Reflector VS-Add-In installiert ist.
The following error occurred while loading the extended type data file:
Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2950) :
Error in type "System.Security.AccessControl.ObjectSecurity":
Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase"
value of type "System.String" to type "System.Type".
System.Management.Automation.ActionPreferenceStopException:
Command execution stopped because the preference variable "ErrorActionPreference" or common parameter
is set to Stop: Unable to find type
oder
System.Management.Automation.CmdletInvocationException: Could not load file or assembly 'Scripts\nuget.psm1' or one of its dependencies. <br />The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) ---> System.IO.FileLoadException: Could not load file or <br />assembly 'Scripts\nuget.psm1' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) <br />---> System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.Combine(String path1, String path2)
at Microsoft.VisualStudio.Platform.VsAppDomainManager.<AssemblyPaths>d__1.MoveNext()
at Microsoft.VisualStudio.Platform.VsAppDomainManager.InnerResolveHandler(String name)
at Microsoft.VisualStudio.Platform.VsAppDomainManager.ResolveHandler(Object sender, ResolveEventArgs args)
at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
--- End of inner exception stack trace ---
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadBinaryModule(Boolean trySnapInName, String moduleName, String fileName, <br />Assembly assemblyToLoad, String moduleBase, SessionState ss, String prefix, Boolean loadTypes, Boolean loadFormats, Boolean& found)
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleNamedInManifest(String moduleName, String moduleBase, <br />Boolean searchModulePath, <br />String prefix, SessionState ss, Boolean loadTypesFiles, Boolean loadFormatFiles, Boolean& found)
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleManifest(ExternalScriptInfo scriptInfo, ManifestProcessingFlags <br />manifestProcessingFlags, Version version)
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModule(String fileName, String moduleBase, String prefix, SessionState ss, <br />Boolean& found)
at Microsoft.PowerShell.Commands.ImportModuleCommand.ProcessRecord()
at System.Management.Automation.Cmdlet.DoProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.Runspaces.Pipeline.Invoke()
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.Invoke(String command, Object input, Boolean outputResults)
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHostExtensions.ImportModule(PowerShellHost host, String modulePath)
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.LoadStartupScripts()
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.Initialize()
at NuGetConsole.Implementation.Console.ConsoleDispatcher.Start()
at NuGetConsole.Implementation.PowerConsoleToolWindow.MoveFocus(FrameworkElement consolePane)
Wir haben uns mit dem Autor des Add-Ins in Verbindung gesetzt, um eine Lösung zu erarbeiten.
Update: Wir haben überprüft, dass die neueste Version von Reflector, 6.5, diese Ausnahme nicht mehr in der Konsole verursacht.
Fehler beim Öffnen der Paket-Manager-Konsole aufgrund einer ObjectSecurity-Ausnahme
Beim Versuch, die Paket-Manager-Konsole zu öffnen, werden diese Fehler möglicherweise angezeigt:
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2977) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: The getter method should be public, non void, static, and have one parameter of type PSObject.
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2984) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: The getter method should be public, non void, static, and have one parameter of type PSObject.
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2991) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: The getter method should be public, non void, static, and have one parameter of type PSObject.
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2998) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: The getter method should be public, non void, static, and have one parameter of type PSObject.
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(3005) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: The getter method should be public, non void, static, and have one parameter of type PSObject.
The term 'Get-ExecutionPolicy' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Wenn ja, folgen Sie der in StackOverflow erläuterten Lösung, um sie zu beheben.
Das Dialogfeld "Paketbibliotheksreferenz hinzufügen" löst eine Ausnahme aus, wenn die Lösung InstallShield Limited Edition-Projekt enthält.
Wir haben festgestellt, dass das Dialogfeld "Paketbibliotheksreferenz hinzufügen " beim Öffnen eine Ausnahme auslöst, wenn Ihre Lösung ein oder mehrere InstallShield Limited Edition-Projekt enthält. Es gibt derzeit noch keine Problemumgehung, außer entweder InstallShield-Projekte zu entfernen oder sie zu entladen.
Ist die Schaltfläche "Deinstallieren" ausgegraut? NuGet erfordert Administratorrechte zum Installieren/Deinstallieren
Wenn Sie versuchen, NuGet über den Visual Studio-Erweiterungs-Manager zu deinstallieren, stellen Sie möglicherweise fest, dass die Schaltfläche "Deinstallieren" deaktiviert ist. NuGet erfordert Administratorzugriff zum Installieren und Deinstallieren. Starten Sie Visual Studio als Administrator neu, um die Erweiterung zu deinstallieren. NuGet erfordert keinen Administratorzugriff, um es zu verwenden.
Die Paket-Manager-Konsole stürzt ab, wenn ich sie in Windows XP öffne. Was ist los?
NuGet erfordert Powershell 2.0-Laufzeit. Windows XP verfügt standardmäßig nicht über PowerShell 2.0. Sie können die PowerShell 2.0-Umgebung von PowerShell 2.0 Download herunterladen. Starten Sie Nach der Installation Visual Studio neu, und Sie sollten die Paket-Manager-Konsole öffnen können.
Visual Studio 2010 SP1 Beta stürzt beim Beenden ab, wenn die Paket-Manager-Konsole geöffnet ist.
Wenn Sie Visual Studio 2010 SP1 Beta installiert haben, stellen Sie möglicherweise fest, dass beim Öffnen und Schließen von Visual Studio die Paket-Manager-Konsole abstürzt. Dies ist ein bekanntes Problem von Visual Studio und wird in der SP1 RTM-Version behoben. Ignorieren Sie vorerst einfach den Absturz oder deinstallieren Sie SP1 Beta, falls möglich.
Das Element 'metadata' hat ein ungültiges untergeordnetes Element, wodurch eine Ausnahme auftritt.
Wenn Sie Pakete installiert haben, die mit einer Vorabversion von NuGet erstellt wurden, tritt möglicherweise eine Fehlermeldung auf: "Das Element 'Metadaten' im Namespace 'schemas.microsoft.com/packaging/2010/07/nuspec.xsd' hat ein ungültiges untergeordnetes Element", wenn die RTM-Version von NuGet mit diesem Projekt ausgeführt wird. Sie müssen jedes Paket mithilfe der RTM-Version von NuGet deinstallieren und dann erneut installieren.
Beim Versuch, ein Programm zu installieren oder zu deinstallieren, tritt der Fehler "Es kann keine Datei erstellt werden, wenn diese Datei bereits vorhanden ist" auf.
Aus irgendeinem Grund können Visual Studio-Erweiterungen in einem seltsamen Zustand auftreten, in dem Sie die VSIX-Erweiterung deinstalliert haben, aber einige Dateien wurden zurückgelassen. So umgehen Sie dieses Problem:
Beenden von Visual Studio
Öffnen Sie den folgenden Ordner (möglicherweise auf einem anderen Laufwerk auf Ihrem Computer)
C:\Programme (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager<Version>\
Löschen Sie alle Dateien mit den . deleteme-Erweiterungen .
Erneutes Öffnen von Visual Studio
Nachdem Sie diese Schritte ausgeführt haben, sollten Sie in der Lage sein, den Vorgang fortzusetzen.
In seltenen Fällen führt das Kompilieren mit aktivierter Codeanalyse zu Einem Fehler.
Möglicherweise wird die folgende Fehlermeldung angezeigt, wenn Sie FluentNHibernate mit der Paket-Manager-Konsole installieren und ihr Projekt dann kompilieren, wobei "Codeanalyse" aktiviert ist.
Error 3 CA0058 : The referenced assembly
'NHibernate, Version=3.0.0.2001, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'
could not be found. This assembly is required for analysis and was referenced by:
C:\temp\Scratch\src\MyProject.UnitTests\bin\Debug\MyProject.UnitTests.dll.
MyProject.UnitTests
FluentNHibernate erfordert standardmäßig NHibernate 3.0.0.2001. NuGet installiert jedoch standardmäßig NHibernate 3.0.0.4000 in Ihrem Projekt und fügt die entsprechenden Bindungsumleitungen hinzu, damit die Umleitungen korrekt funktionieren. Ihr Projekt wird ohne Probleme kompiliert, wenn die Codeanalyse nicht aktiviert ist. Im Gegensatz zum Compiler folgt das Codeanalysetool nicht ordnungsgemäß den Bindungsumleitungen, um 3.0.0.4000 anstelle von 3.0.0.2001 zu verwenden. Sie können das Problem umgehen, indem Sie entweder NHibernate 3.0.0.2001 installieren oder das Codeanalysetool anweisen, sich wie der Compiler zu verhalten, indem Sie die folgenden Schritte ausführen:
- Wechseln Sie zu %PROGRAMFILES%\Microsoft Visual Studio 10.0\Team tools\Static Analysis Tools\FxCop
- Öffnen Sie FxCopCmd.exe.config, und wechseln Sie
AssemblyReferenceResolveModevonStrongNamezuStrongNameIgnoringVersion. - Speichern Sie die Änderung, und erstellen Sie Ihr Projekt neu.
Write-Error Befehl funktioniert nicht in install.ps1/uninstall.ps1/init.ps1
Dies ist ein bekanntes Problem. Anstatt Write-Error aufzurufen, versuchen Sie, throw zu verwenden.
throw "My error message"
Das Installieren von NuGet mit eingeschränktem Zugriff unter Windows 2003 kann Visual Studio abstürzen
Wenn Sie versuchen, NuGet über den Visual Studio Erweiterungs-Manager zu installieren und nicht als Administrator arbeiten, wird das Dialogfeld "Als Administrator ausführen" standardmäßig mit dem aktivierten Kontrollkästchen "Dieses Programm mit eingeschränktem Zugriff ausführen" angezeigt.
Wenn Sie auf "OK" klicken, während diese Option aktiviert ist, stürzt Visual Studio ab. Deaktivieren Sie diese Option, bevor Sie NuGet installieren.
NuGet für Windows Phone-Tools kann nicht deinstalliert werden
Windows Phone-Tools haben keine Unterstützung für den Visual Studio-Erweiterungs-Manager. Führen Sie zum Deinstallieren von NuGet den folgenden Befehl aus.
vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
Das Ändern der Großschreibung von NuGet-Paket-IDs stört die Wiederherstellung der Pakete.
Wie bei diesem GitHub-Problem ausführlich erläutert, kann das Ändern der Groß-/Kleinschreibung von NuGet-Paketen durch nuGet-Unterstützung erfolgen, verursacht jedoch Komplikationen während der Paketwiederherstellung für Benutzer, die vorhandene, anders geschriebene Pakete in ihrem globalen Paketordner haben. Es wird empfohlen, nur eine Falländerung anzufordern, wenn Sie eine Möglichkeit haben, mit vorhandenen Benutzern Ihres Pakets über die Unterbrechung zu kommunizieren, die bei der Wiederherstellung des Buildzeitpakets auftreten kann.
Melden von Problemen
Um NuGet-Probleme zu melden, besuchen Sie https://github.com/nuget/home/issues.