Problemas conocidos con NuGetKnown Issues with NuGet

Estos son los problemas conocidos más habituales en NuGet que se notifican repetidamente.These are the most common known issues with NuGet that are repeatedly reported. Si tiene problemas para instalar NuGet o para administrar paquetes, eche un vistazo a estos problemas conocidos y sus soluciones.If you are having trouble installing NuGet or managing packages, please take a look through these known issues and their resolutions.

Nota

A partir de NuGet 4.0, los problemas conocidos forman parte de las notas de la versión correspondientes.Starting with NuGet 4.0, known issues are a part of the respective release notes.

Problemas de autenticación con las fuentes de NuGet en VSTS con nuget.exe v3.4.3Authentication issues with NuGet feeds in VSTS with nuget.exe v3.4.3

Problema:Problem:

Al usar el siguiente comando para almacenar las credenciales, se acaba cifrando por duplicado el token de acceso personal.When we use the following command to store the credentials, we end up double encrypting the Personal Access Token.

$PAT = "Token de acceso personal" $Feed = "Dirección URL" .\nuget.exe sources add -Name Test -Source $Feed -UserName $UserName -Password $PAT$PAT = "Your personal access token" $Feed = "Your url" .\nuget.exe sources add -Name Test -Source $Feed -UserName $UserName -Password $PAT

Solución:Workaround:

Almacene las contraseñas en un texto no cifrado con la opción -StorePasswordInClearText.Store passwords in clear text using the -StorePasswordInClearText option.

Error al instalar paquetes con NuGet 3.4 y 3.4.1Error installing packages with NuGet 3.4, 3.4.1

Problema:Problem:

En NuGet 3.4 y 3.4.1, al usar el complemento de NuGet, ningún origen aparece como disponible y no se pueden agregar orígenes nuevos en la ventana de configuración.In NuGet 3.4 and 3.4.1, when using the NuGet add-in, no sources are reported as available and you are unable to add new sources in the configuration window. El resultado es similar a la imagen siguiente:The result is similar to the image below:

Configuración de NuGet sin ningún origen

El archivo NuGet.Config en la carpeta %AppData%\NuGet\ (Windows) o ~/.nuget/ (Mac/Linux) se ha vaciado accidentalmente.The NuGet.Config file in your %AppData%\NuGet\ (Windows) or ~/.nuget/ (Mac/Linux) folder has accidentally been emptied. Para solucionar este problema: cierre Visual Studio (en Windows, si procede), elimine el archivo NuGet.Config y vuelva a intentar la operación.To fix this: close Visual Studio (on Windows, if applicable), delete the NuGet.Config file, and try the operation again. NuGet generó un nuevo NuGet.Config y podrá continuar.NuGet generated a new NuGet.Config and you should be able to proceed.

Error al instalar paquetes con NuGet 2.7Error installing packages with NuGet 2.7

Problema:Problem:

En NuGet 2.7 y en versiones posteriores, al intentar instalar cualquier paquete que contiene referencias de ensamblado, puede que reciba el mensaje de error "La cadena de entrada no tiene el formato correcto" , como se muestra a continuación:In NuGet 2.7 or above, when you attempt to install any package which contains assembly references, you may receive the error message "Input string was not in a correct format.", like below:

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

Este error lo provoca la biblioteca de tipos del componente COM VSLangProj.dll para el que se anula el registro en el sistema.This is caused by the type library for the VSLangProj.dll COM component being unregistered on your system. Puede ocurrir, por ejemplo, si tiene dos versiones de Visual Studio instaladas en paralelo y desinstala la versión más antigua.This can happen, for example, when you have two versions of Visual Studio installed side-by-side and you then uninstall the older version. Esto puede hacer que se anule accidentalmente el registro de la biblioteca COM mencionada.Doing so may inadvertently unregister the above COM library.

Solución:Solution::

Ejecute este comando desde un símbolo del sistema con privilegios elevados para volver a registrar la biblioteca de tipos para VSLangProj.dll.Run this command from an elevated prompt to re-register the type library for VSLangProj.dll

regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VsLangproj.olb"

Si se produce un error en el comando, compruebe si el archivo existe en esa ubicación.If the command fails, check to see if the file exists in that location.

Para más información sobre este error, consulte este elemento de trabajo.For more information about this error, see this work item.

Error de compilación después de la actualización de paquetes en VS 2012Build failure after package update in VS 2012

El problema: Está usando VS 2012 RTM.The problem: You are using VS 2012 RTM. Cuando actualiza los paquetes NuGet, recibe este mensaje: "Uno o más paquetes no se pudieron desinstalar completamente".When updating NuGet packages, you get this message: "One or more packages could not be completed uninstalled." y se le pide que reinicie Visual Studio.and you are prompted to restart Visual Studio. Después de reiniciar VS, recibe errores de compilación extraños.After VS restart, you get weird build errors.

La causa está en que algunos archivos de los paquetes antiguos están bloqueados por un proceso de MSBuild de fondo.The cause is that certain files in the old packages are locked by a background MSBuild process. Incluso después de reiniciar VS, el proceso de MSBuild de fondo sigue usando los archivos de los paquetes antiguos, lo que provoca los errores de compilación.Even after VS restart, the background MSBuild process still uses the files in the old packages, causing the build failures.

La solución consiste en instalar VS 2012 Update (por ejemplo, VS 2012 Update 2).The fix is to install VS 2012 Update, e.g. VS 2012 Update 2.

La actualización de la versión más reciente de NuGet desde una versión anterior provoca un error de comprobación de firmaUpgrading to latest NuGet from an older version causes a signature verification error

Si está ejecutando VS 2010 SP1, puede que encuentre el siguiente mensaje de error al intentar actualizar NuGet si tiene instalada una versión anterior.If you are running VS 2010 SP1, you might run into the following error message when attempting to upgrade NuGet if you have an older version installed.

Instalador de extensiones de Visual Studio

Al consultar los registros, puede que vea una mención a una excepción SignatureMismatchException.When viewing the logs, you might see a mention of a SignatureMismatchException.

Para evitar que esto ocurra, puede instalar una revisión de Visual Studio 2010 SP1.To prevent this from occurring, there is a Visual Studio 2010 SP1 hotfix you can install. Como alternativa, la solución consiste en desinstalar NuGet (ejecutando Visual Studio como administrador) e instalarlo desde la galería de extensiones de VS.Alternatively, the workaround is to simply uninstall NuGet (while running Visual Studio as Administrator) and then install it from the VS Extension Gallery. Vea https://support.microsoft.com/kb/2581019 para obtener más información.See https://support.microsoft.com/kb/2581019 for more information.

La consola del Administrador de paquetes genera una excepción cuando también se instala el complemento Reflector Visual Studio.Package Manager Console throws an exception when the Reflector Visual Studio Add-In is also installed.

Al ejecutar la consola del Administrador de paquetes, puede que encuentre el siguiente mensaje de excepción si tiene instalado el complemento Reflector VS.When running the Package Manager console, you may run into the following exception message if you have the Reflector VS Add-in installed.

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

oor

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)) ---&gt; 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 />---&gt; 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&amp; found)
   at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleNamedInManifest(String moduleName, String moduleBase, <br />Boolean searchModulePath, <br />String prefix, SessionState ss, Boolean loadTypesFiles, Boolean loadFormatFiles, Boolean&amp; 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&amp; 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)

Nos hemos puesto en contacto con el autor del complemento con la esperanza de encontrar una solución.We've contacted the author of the add-in in the hopes of working out a resolution.

Actualización: hemos comprobado que la versión más reciente de Reflector, la versión 6.5, ya no genera esta excepción en la consola.Update: We have verified that the latest version of Reflector, 6.5, no longer causes this exception in the console.

Se produce un error al abrir la consola del Administrador de paquetes con la excepción ObjectSecurityOpening Package Manager Console fails with ObjectSecurity exception

Pueden aparecer estos errores al intentar abrir la consola del Administrador de paquetes:You might see these errors when trying to open the Package Manager Console:

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.

Si es así, siga la solución descrita en StackOverflow para corregirlos.If so, follow the solution discussed on StackOverflow to fix them.

El cuadro de diálogo Add Package Library Reference (Agregar referencia de la biblioteca de paquetes) genera una excepción si la solución contiene un proyecto de InstallShield Limited Edition.The Add Package Library Reference dialog throws an exception if the solution contains InstallShield Limited Edition Project

Hemos identificado que, si la solución contiene uno o varios proyectos de InstallShield Limited Edition, el cuadro de diálogo Add Library Package Reference (Agregar referencia de paquetes de biblioteca) generará una excepción cuando se abra.We have identified that if your solution contains one or more InstallShield Limited Edition project, the Add Package Library Reference dialog will throw an exception when opened. De momento aún no hay ninguna solución, salvo que se quiten o se descarguen los proyectos de InstallShield.There is currently no workaround yet except either removing InstallShield projects or unloading them.

¿El botón Desinstalar aparece atenuado?Uninstall Button Greyed out? NuGet necesita privilegios de administrador para instalar y desinstalarNuGet Requires Admin Privileges to Install/Uninstall

Si intenta desinstalar NuGet con el Administrador de extensiones de Visual Studio, puede observar que el botón Desinstalar está deshabilitado.If you try to uninstall NuGet via the Visual Studio Extension Manager, you may notice that the Uninstall button is disabled. NuGet necesita acceso de administrador para instalar y desinstalar.NuGet requires admin access to install and uninstall. Vuelva a iniciar Visual Studio como administrador para desinstalar la extensión.Relaunch Visual Studio as an administrator to uninstall the extension. NuGet no necesita acceso de administrador para usarla.NuGet does not require admin access to use it.

La consola del Administrador de paquetes se bloquea cuando se abre en Windows XP.The Package Manager Console crashes when I open it in Windows XP. ¿Qué ocurre?What's wrong?

NuGet requiere Powershell 2.0 en tiempo de ejecución.NuGet requires Powershell 2.0 runtime. Windows XP, de forma predeterminada, no tiene Powershell 2.0.Windows XP, by default, doesn't have Powershell 2.0. Puede descargar el runtime de Powershell 2.0 desde https://support.microsoft.com/kb/968929.You can download the Powershell 2.0 runtime from https://support.microsoft.com/kb/968929. Después de su instalación, reinicie Visual Studio y debería poder abrir la consola del Administrador de paquetes.After you install it, restart Visual Studio and you should be able to open Package Manager Console.

Visual Studio 2010 SP1 Beta se bloquea al salir si la consola del Administrador de paquetes está abierta.Visual Studio 2010 SP1 Beta crashes on exit if the Package Manager Console is open.

Si ha instalado Visual Studio 2010 SP1 Beta, observará que, si deja abierta la consola del Administrador de paquetes y cierra Visual Studio, se bloqueará.If you have installed Visual Studio 2010 SP1 Beta, you may notice that if you leave the Package Manager Console open and close Visual Studio, it will crash. Se trata de un problema conocido de Visual Studio que se corregirá en la versión SP1 RTM.This is a known issue of Visual Studio and will be fixed in SP1 RTM release. Por ahora, ignore el bloqueo o desinstale la versión SP1 Beta si es posible.For now, just ignore the crash or uninstall SP1 Beta if you can.

Se produce la excepción "El elemento 'metadata' … tiene un elemento secundario no válido"The element 'metadata' ... has invalid child element exception occurs

Si ha instalado paquetes compilados con una versión preliminar de NuGet, podría recibir un mensaje de error que indica que "el elemento 'metadata' en el espacio de nombres 'schemas.microsoft.com/packaging/2010/07/nuspec.xsd' tiene un elemento secundario no válido" al ejecutar la versión RTM de NuGet con ese proyecto.If you installed packages built with a pre-release version of NuGet, you might encounter an error message stating "The element 'metadata' in namespace 'schemas.microsoft.com/packaging/2010/07/nuspec.xsd' has invalid child element" when running the RTM version of NuGet with that project. Tiene que desinstalar y reinstalar cada paquete con la versión RTM de NuGet.You need to uninstall and then re-install each package using the RTM version of NuGet.

Al intentar instalar o desinstalar se produce el error "No se puede crear un archivo cuando ese archivo ya existe".Attempting to install or uninstall results in the error "Cannot create a file when that file already exists."

Por algún motivo, las extensiones de Visual Studio pueden adoptar un estado extraño, en el que se ha desinstalado la extensión VSIX pero se han olvidado algunos archivos.For some reason, Visual Studio extensions can get in a weird state where you've uninstalled the VSIX extension, but some files were left behind. Para solucionar este problema:To work around this issue:

  1. Salir de Visual StudioExit Visual Studio

  2. Abra la carpeta siguiente (puede que esté en otra unidad de su equipo)Open the following folder (it might be on a different drive on your machine)

    C:\Archivos de programa (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager<versión>C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager<version>\

  3. Elimine todos los archivos que tengan la extensión .deleteme.Delete all the files with the .deleteme extensions.

  4. Vuelva a abrir Visual Studio.Re-open Visual Studio

Después de seguir estos pasos, debería poder continuar.After following these steps, you should be able to continue.

En casos aislados, al compilar con Análisis de código activado se produce un error.In rare cases, compiling with Code Analysis turned on causes error.

Puede que reciba el siguiente error si instala FluentNHibernate con la consola del Administrador de paquetes y luego compila el proyecto con la herramienta "Análisis de código" activada.You might get the following error if you installs FluentNHibernate with the Package Manager console and then compile your project with "Code Analysis" turned on.

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

De forma predeterminada, FluentNHibernate requiere NHibernate 3.0.0.2001,By default, FluentNHibernate requires NHibernate 3.0.0.2001. pero por diseño, NuGet instalará NHibernate 3.0.0.4000 en el proyecto y agregará las redirecciones de enlaces adecuadas para que funcione.However, by design NuGet will install NHibernate 3.0.0.4000 in your project and add the appropriate binding redirects so that it will work. El proyecto se compilará correctamente si la herramienta Análisis de código no está activada.You project will compile just fine if code analysis is not turned on. A diferencia del compilador, la herramienta Análisis de código no sigue correctamente las redirecciones de enlaces para usar la versión 3.0.0.4000 en vez de la versión 3.0.0.2001.In contrast to the compiler, code analysis tool doesn't properly follow the binding redirects to use 3.0.0.4000 instead of 3.0.0.2001. Puede solucionar el problema instalando NHibernate 3.0.0.2001 o indicando a la herramienta Análisis de código que se comporte igual que el compilador haciendo lo siguiente:You can work around the issue by either installing NHibernate 3.0.0.2001 or tell the code analysis tool to behave the same as the compiler by doing the following:

  1. Vaya a %PROGRAMFILES%\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCopGo to %PROGRAMFILES%\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop
  2. Abra FxCopCmd.exe.config y cambie AssemblyReferenceResolveMode de StrongName a StrongNameIgnoringVersion.Open FxCopCmd.exe.config and change AssemblyReferenceResolveMode from StrongName to StrongNameIgnoringVersion.
  3. Guarde el cambio y vuelva a generar el proyecto.Save the change and rebuild your project.

El comando Write-Error no funciona dentro de install.ps1/uninstall.ps1/init.ps1Write-Error command doesn't work inside install.ps1/uninstall.ps1/init.ps1

Se trata de un problema conocido.This is a known issue. En lugar de llamar a Write-Error, intente llamar a throw.Instead of calling Write-Error, try calling throw.

throw "My error message"

La instalación de NuGet con acceso restringido en Windows 2003 puede bloquear Visual StudioInstalling NuGet with restricted access on Windows 2003 can crash Visual Studio

Al intentar instalar NuGet con el Administrador de extensiones de Visual Studio sin ejecutarlo como administrador, se muestra el cuadro de diálogo “Ejecutar como” con la casilla “Run this program with restricted access” (Ejecutar este programa con acceso restringido) activada de forma predeterminada.When attempting to install NuGet using the Visual Studio Extension Manager and not running as an administrator, the “Run As” dialog is displayed with the checkbox labeled “Run this program with restricted access” checked by default.

Cuadro de diálogo de ejecución con acceso restringido

Si hace clic en Aceptar con esa opción activada, Visual Studio se bloqueará.Clicking OK with that checked crashes Visual Studio. Asegúrese de desactivar esta opción antes de instalar NuGet.Make sure to uncheck that option before installing NuGet.

No se puede desinstalar NuGet para Herramientas de Windows PhoneCannot uninstall NuGet for Windows Phone Tools

Herramientas de Windows Phone no tiene compatibilidad con el Administrador de extensiones de Visual Studio.Windows Phone Tools does not have support for the Visual Studio Extension Manager. Ejecute el siguiente comando para poder desinstalar NuGet.In order to uninstall NuGet, run the following command.

 vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5

Al cambiar las mayúsculas y minúsculas de los identificadores de paquete de NuGet se interrumpe la restauración de los paquetesChanging the capitalization of NuGet package IDs breaks package restore

Tal y como se describe con detalle en este problema de GitHub, se pueden cambiar las mayúsculas y minúsculas de los paquetes de NuGet por compatibilidad con NuGet, pero se crean complicaciones durante la restauración de los paquetes de los usuarios que tienen paquetes (con un uso de mayúsculas y minúsculas diferente) en la carpeta global-packages.As discussed at length on this GitHub issue, changing the capitalization of NuGet packages can be done by NuGet support, but causes complications during package restore for users who have existing, differently-cased, packages in their global-packages folder. Se recomienda únicamente solicitar un cambio de mayúsculas y minúsculas si dispone de un método de comunicación con los usuarios existentes del paquete para notificarles la interrupción que se puede producir en la restauración de paquetes en tiempo de compilación.We recommend only requesting a case change when you have a way to communicate with existing users of your package about the break that may occur to their build-time package restore.

Notificar problemasReporting issues

Para informar sobre problemas de NuGet, visite https://github.com/nuget/home/issues.To report NuGet issues, visit https://github.com/nuget/home/issues.