¿Cómo agrega archivos adicionales a un paquete nuget en Visual Studio 2017?
Recientemente me mudé aVisual Studio 2017
Edición comunitaria. Tiene 2 nuevas características agradables
Quiero empaquetar mi código abiertoCodeFirstWebFramework
DLL como un paquete nuget. Además de incluir elDLL
, el paquete debe incluir un árbol de directorios completo de otros archivos (incluidos archivos .js, .tmpl, .css y .md).
Como lo digoVisual Studio
que quiero este árbol de directorios incluido en el paquete?
A partir de la información que he encontrado con una búsqueda exhaustiva e ignorando toda la información desactualizada que implica agregar archivos al csproj, todo lo que pude encontrar fue colocarlos en uncontentFiles
carpeta, pero esto no parece funcionar.
Mi archivo de proyecto se ve así:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Authors>Nikki Locke</Authors>
<Company>Trumphurst Ltd</Company>
<Description>Easy to use web server for building web apps that use sql databases generated from c# classes</Description>
<Copyright>2017 Trumphurst Ltd.</Copyright>
<PackageProjectUrl>https://github.com/nikkilocke/CodeFirstWebFramework</PackageProjectUrl>
<RepositoryUrl>https://github.com/nikkilocke/CodeFirstWebFramework</RepositoryUrl>
<RepositoryType>Github</RepositoryType>
<PackageTags>C# SQL Code First Web Server</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Markdig" Version="0.12.1" />
<PackageReference Include="Mono.Data.Sqlite.Portable" Version="1.0.3.5" />
<PackageReference Include="mustache-sharp" Version="0.2.10" />
<PackageReference Include="MySql.Data" Version="6.9.9" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Net" />
<Reference Include="System.Web" />
</ItemGroup>
</Project>
Adivinando lo que podría necesitar hacer con la información conflictiva y desactualizada en la web, agregué lo siguiente:
<ItemGroup>
<Content Include="contentFiles/**/*.*" copyToOutput="true">
<IncludeInPackage>true</IncludeInPackage>
</Content>
</ItemGroup>
Ahora el.nupkg
el archivo tiene el contenido de lacontentFiles
dentro de la carpeta (en dos lugares, uncontent
carpeta y uncontentFiles
carpeta.
Sin embargo, cuando instalo el paquete en otro proyecto, los archivos de contenido no aparecen, aunque se enumeran en elproject.assets.json
archivo en elobj
carpeta.