visual studio nuggets net manager create c# .net visual-studio-2013 visual-studio-2015 nuget

c# - studio - nuggets visual



Nugets se instala en Visual Studio 2015 (7)

Descubrí que DynamicInterop.0.8.1.nupkg tiene el archivo dll en una carpeta ''lib / netstandard1.2''. Acabo de cambiar el nombre de la carpeta a lib / net40 y el paquete se instalará bien (estoy usando VS2013). Además, el .nupkg es solo un archivo .zip, por lo que cualquier herramienta zip te permite manipular los contenidos.

Intento instalar el nuget Microsoft.VisualStudio.QualityTools.UnitTestFramework en Visual Studio 2015 en un proyecto simple y recibí este mensaje:

No se pudo instalar el paquete ''Microsoft.VisualStudio.QualityTools.UnitTestFramework 10.0.30319.1''. Está intentando instalar este paquete en un proyecto que se dirige a ''.NETFramework, Version = v4.5.2'', pero el paquete no contiene ninguna referencia de ensamblado ni archivos de contenido que sean compatibles con ese marco. Para obtener más información, comuníquese con el autor del paquete.

Pero cuando intento instalar este paquete en Visual Studio 2013 en el mismo proyecto, esto funciona.

¿Cómo puedo instalar este nuget en Visual Studio 2015?


El mensaje de error te dice que no hay una versión de nuget para tu versión de framework.

En VS2013 probablemente crees el proyecto en la versión 4.5.0 o 4.0.0 de .Net framework.

¿Has intentado cambiar la versión .Net de tu proyecto a 4.5.2?


Esto puede suceder cuando el estándar .NET de la solución y el correspondiente paquete nuget no coinciden. Consulte este enlace: https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/ Cuando se desplaza hacia abajo, hay un encabezado denominado: ¿Qué hay de nuevo en .NET Standard 2.0? Bajo ese encabezado, hay una tabla. Tiene que coincidir con el marco y la versión estándar de .NET. Prefiero .NET estándar 1.4 y .NET Framework 4.6.1. Al crear el estándar .NET, Microsoft está codificando el requisito de tener API consistentes en todas las plataformas .NET. Parece que, una vez que migre sus soluciones a este nivel de compatibilidad, la "incompatibilidad" o el descubrimiento de la rueda nuevamente después de cada actualización será un recuerdo del pasado ...


Ha pasado el tiempo, pero me está sucediendo a mí, y he descubierto que no tiene nada que ver con la versión marco. El texto importante del mensaje de error es: "... pero el paquete no contiene ninguna referencia de ensamblado ni archivos de contenido ...".

De hecho, mi paquete no tiene ningún contenido visible para Nuget: tiene una carpeta no convencional con bibliotecas nativas de terceros y un Install.ps1 que agrega un evento de compilación posterior con un comando de Xcopy.

Como solución fácil, simplemente coloque un archivo ficticio en la carpeta Contenido del paquete o cualquier otro contenido ficticio en lib, nodo de archivo vacío (no lo intenté), etc.

EDITAR 29/5/2017

Estoy viendo que esta respuesta es útil para otros, y es por eso que voy a elaborar un poco más.

Como dije, el problema es que Nuget no ve que haya contenido en el paquete, pero puede tener dos causas:

  1. El paquete realmente no tiene contenido visible porque mueve el contenido con una secuencia de comandos, etc. (como era mi caso), y luego es necesario crear algún contenido ficticio como una solución alternativa.

  2. Hay un error en la especificación de un paquete que debe tener contenido (como fue el caso de Evgeni Nabokov en los comentarios), y luego tiene que corregir la especificación para poner las cosas en su lugar.

Perdón por mi mal ingles.


Obtuve esto y no tenía sentido porque ya lo estaba usando sin problemas en un proyecto de Framework 4.6 y el error me dijo que no funcionaría en el framework 4.6, que sabía que era falso.

Al final lo resolví haciendo otro proyecto de prueba, copiando los archivos cs, etc. de mi antiguo proyecto de prueba y luego instalando UnitTestFramework a través de NuGet. Funciona bien.

Así que sucede algo que solo Microsoft puede resolver, supongo, pero comenzar de nuevo parece solucionarlo.


Parece que la creación de un "Proyecto de prueba de unidades" en lugar de "Biblioteca de clases" resuelve el problema. Luchaste con la "Biblioteca de clases" sin suerte, pero al eliminar ese proyecto y crear uno nuevo de la plantilla "Proyecto de prueba de la unidad" se convirtió con la versión 10.0.0.0 de Microsoft.VisualStudio.QualityTools.UnitTestFramework instalada.


Tuve este problema cuando construí mis paquetes nuget en TeamCity, los publiqué en el artefacto local y luego intenté usarlos en otros proyectos.

Para evitar este problema, en TeamCity, BuildSteps ==> NuGet Pack ==> Package parameters ==> Ficheros de especificación, debe seleccionar el archivo .csproj sobre el archivo nuspec y marcar la opción "Preferir archivos de proyecto en .nuspec"

El paquete que se compilará así estará bien para importar y no más quejas de VS.