Este tutorial fue probado por expertos para garantizar la exactitud de esta división.
Solución:
Para habilitar el embalaje integrado en un “sin SDK” proyecto, usando viejos .NET Framework (por ejemplo: 4.5.1) y Visual Studio 2019 sin usando personalizado Target
. necesitas hacer el siguiente paso:
- agregar un primero
PropertyGroup
etiqueta en el csproj - agregar etiquetas mínimas
Authors
yPackageOutputPath
- comprueba que es lo mismo
PropertyGroup
poseeGeneratePackageOnBuild
Ahora las variables se pasarán a la activada internamente msbuild -t:Pack
dominio.
Aquí un ejemplo de configuración de trabajo, asegúrese de que esta sea la primera
de El .csproj:
packageid
your description
1.1.1
New package system
authors
owners
your copyrights
binPackage
true
Si buscas las referencias, aquí:
- cómo crear un paquete nuget con msbuild
- todas las etiquetas posibles para establecer en el csproj en la primera
PropertyGroup
¿Estoy haciendo esto mal?
Este GeneratePackageOnBuild
la propiedad no es algo para .net framework
proyectos Crear un nuevo .net Standard
o .net Core
proyecto de biblioteca de clases, haga clic con el botón derecho en el proyecto y verá un Embalar comando (no disponible para .net framework).
Si hacemos clic en el botón, VS empaquetará ese ensamblaje en un paquete nuget. Y si alguien no quiere hacer clic en ese botón cada vez manualmente, vaya Project=>Properties=>Package
podemos ver el Generate Nuget Packages on build
caja. Habilítelo y luego se creará el paquete nuget después de cada compilación.
En realidad, habilitar esa casilla de verificación en VS agregará una declaración
a xx.csproj, pero el Embalar botón o Paquete ficha en Project=>Properties
no están disponibles para proyectos de .net framework.
Entonces, me temo que la respuesta es negativa, no debe usar esa propiedad para proyectos de .NET Framework. (Probé la propiedad en VS2017 y VS2019, simplemente no hizo nada, no puedo reproducir el trabajo parcial mencionado en su pregunta )
¿Hay una manera fácil de hacer esto desde Visual Studio?
necesitas usar nuget pack
comando para hacer eso como lex li dice. Y para hacer esto en VS automáticamente, puede considerar configurar ese comando en Post-Build-Event o usar un destino posterior a la construcción personalizado para ejecutar ese comando.
Dado que desea que estos paquetes de NuGet se empaqueten automáticamente desde Visual Studio durante la compilación del lanzamiento. Puede intentar agregar este script en su xx.csproj
expediente:
Para ejecutar este script correctamente, debe descargar nuget.exe y agregar su ruta a Variables de entorno. O use la ruta completa como "C:SomePathNuget.exe" pack ...
Si la compilación en el modo de lanzamiento tiene éxito, verá un xx.nupkg
archivo en la carpeta del proyecto.
Además:
1. Para más detalles sobre nuget pack
comando por favor vea este documento.
2.Y no olvides crear un xx.nuspec
archivo en la carpeta del proyecto para evitar encontrar advertencias como NU5115 (no se especificó xxx). Problema similar ver aquí.