Solución:
Quiero crear un paquete nuget que agregue múltiples .dll como referencias a mi proyecto.
Me gustaría darte dos soluciones para lograrlo:
Primer uso Explorador de paquetes NuGet:
- Descargue el Explorador de paquetes de NuGet.
- Abra el Explorador de paquetes NuGet, seleccione crear un nuevo paquete.
- Agregue una carpeta lib en la pestaña de contenido y agregue su archivo dlls
- Guarde el paquete e instálelo en el proyecto, verifique si agrega referencias.
En segundo lugar, tal como menciona Lex Li, podríamos use .nuspec para empacar los ensamblajes:
-
Descargue nuget.exe.
-
Crea un nuevo proyecto.
-
Abra un cmd y cambie la ruta a nuget.exe
-
Utilice la línea de comando:
nuget spec "PathOfProjectTestDemo.csproj"
-
Abre el
TestDemo.csproj.nuspec
archivarlo y modificarlo y agregar los ensamblajes como archivo; a continuación está mi archivo .nuspec:<?xml version="1.0"?> <package> <metadata> <id>TestDemo</id> <version>1.0.0</version> <authors>Tester</authors> <owners>Tester</owners> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>TestDemo</description> <releaseNotes>Summary of changes made in this release of the package.</releaseNotes> <copyright>Copyright 2017</copyright> <tags>Tag1 Tag2</tags> </metadata> <files> <file src="https://foroayuda.es/MultipleDll*.*" target="libnet461" /> </files> </package>
-
Utilice el comando pack:
nuget pack TestDemo.csproj.nuspec
-
Abra el paquete TestDemo con NuGet Package Explorer.
Espero que esto le pueda ayudar.
Creo que la mejor forma de crear paquetes NuGet es usar nuget.exe
.
- Primero, descargue e instale nuget.exe (https://www.nuget.org/downloads)
- Luego vaya a la carpeta de su proyecto, presione cambio + clic derecho para mostrar el símbolo del sistema
-
En el símbolo del sistema, ingrese
nuget spec
-
Ahora tendrás un
.nuspec
expediente. Ábralo en un editor y agregue Id, autor, etc. -
La parte más importante es la
files
etiqueta después de la etiqueta de metadatos cerrada.Puede definir todas las DLL aquí así:
<files> <file src="https://foroayuda.es/binReleaseYourDll.dll" target="lib"></file> </files>
-
Finalmente, puede crear
.nupkg
archivo con este comando:nuget pack 'Your_nuspec_file_name'
Este video en Cómo crear paquetes Nuget tiene un tutorial muy útil y claro.
Si desea hacerlo a través de Visual Studio o dotnet, puede editar su archivo csproj, agregar un ItemGroup para incluir los dlls como se muestra a continuación: Esto empaquetará los otros dlls junto con su dll de proyecto actual en el paquete nuget.
<ItemGroup>
<Content Include="<path to other dll>">
<Pack>true</Pack>
<PackagePath>lib$(TargetFramework)</PackagePath>
</Content>
</ItemGroup>