2011-03-05 5 views
64

Estoy creando un paquete NuGet para una biblioteca de clases C#, y me gustaría incluir la documentación Xml generada con la biblioteca. Este es mi archivo nuspec:¿Cómo se incluyen Xml Docs para una biblioteca de clases en un paquete NuGet?

<?xml version="1.0" encoding="utf-8"?> 
<package> 
    <metadata> 
    <id>MyLibrary</id> 
    <version>1.0.0.0</version> 
    <authors>John Nelson</authors> 
    <language>en-US</language> 
    <description>A C# class library</description> 
    </metadata> 
    <files> 
    <file src="..\..\build\MyLibrary.dll" target="lib\Net40" /> 
    <file src="..\..\build\MyLibrary.xml" target="lib\Net40" /> 
    </files> 
</package> 

Cuando build the package with this command:

nuget pack MyLibrary.nuspec 

Se genera un error. Si elimino la línea:

<file src="..\..\build\MyLibrary.xml" target="lib\Net40" /> 

NuGet.exe crea con éxito nupkg. Incluso puedo descomprimir el paquete y verificar que el contenido sea correcto. ¿Qué estoy haciendo mal? ¿Debe el archivo xml ir a un directorio de destino diferente?

+0

¿Qué comando usas para construir el paquete? –

+0

@ColonelPanic pregunta actualizada con comando y enlace a documentos. –

+0

Gracias John. Estoy empaquetando un csproj directamente 'nuget pack library.csproj' (no tengo un nuspec), pero la solución funciona de la misma manera. –

Respuesta

64

El problema fue que no marqué "Generar documentación Xml" para la configuración de compilación que estaba usando. Ese nuspec es correcto.

enter image description here

+5

Bueno saber. Estaba tratando de usar la GUI para crear un paquete, y estaba tratando de hacer que moviera el archivo XML a la carpeta de contenido en lugar de lib. No parecía correcto, así que quería obtener una segunda opinión. Me alegra que tengas esta publicación. :-) –

Cuestiones relacionadas