Agregar bibliotecas compiladas a un paquete NuGet
·
1 min de lectura
Available in:
Español
·
English
·
Français
·
Deutsch
·
Português
·
한국어
·
日本語
·
Русский
·
中文
·
العربية
·
हिन्दी
·
Polski
·
Türkçe
·
Bahasa Indonesia
·
Nederlands
El otro día encontré un error sobre un NullReferenceException en una biblioteca faltante que debería haber estado allí ya que proviene de un paquete nuget que subimos.
Básicamente, compilé una clase de biblioteca que hacía referencia a algunos proyectos. En la fase de compilación, agregaría los archivos dll a la carpeta bin, pero cuando packaging lo utiliza como un paquete nuget y los instala en otra solución, los archivos dll a los que hice referencia y que deberían copiarse en la carpeta bin, no están allí.
Cómo solucionarlo
Resolver este problema es bastante simple, debes actualizar el archivo nuspec y para cada una de las bibliotecas que quieras copiar, agrega el file en la parte files.
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<projectUrl>$projectUrl$</projectUrl>
<iconUrl>$projectIconUrl$</iconUrl>
<description>$description$</description>
<releaseNotes></releaseNotes>
<copyright>$copyright$</copyright>
<tags></tags>
</metadata>
<files>
<file src="bin\Release\MyFile1.dll" target="lib\net47" />
<file src="bin\Release\MyFile2.dll" target="lib\net47" />
<file src="bin\Release\MyFile3.dll" target="lib\net47" />
<file src="bin\Release\MyFile4.dll" target="lib\net47" />
</files>
</package>