Como você adiciona arquivos adicionais a um pacote nuget no Visual Studio 2017
Mudei-me recentemente paraVisual Studio 2017
Edição da comunidade. Possui 2 novos recursos legais
Quero empacotar meu código abertoCodeFirstWebFramework
DLL como um pacote de pepita. Além de incluir oDLL
, o pacote deve incluir uma árvore de diretórios inteira de outros arquivos (incluindo arquivos .js, .tmpl, .css e .md).
Como eu digoVisual Studio
que eu quero que essa árvore de diretórios seja incluída no pacote?
Com base nas informações que encontrei com a pesquisa extensiva e ignorando todas as informações desatualizadas que envolvem a adição de arquivos ao csproj, tudo que consegui encontrar foi colocá-los em umcontentFiles
pasta, mas isso não parece funcionar.
Meu arquivo de projeto é assim:
<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>
Adivinhando amplamente o que preciso fazer com as informações conflitantes e desatualizadas da Web, adicionei o seguinte:
<ItemGroup>
<Content Include="contentFiles/**/*.*" copyToOutput="true">
<IncludeInPackage>true</IncludeInPackage>
</Content>
</ItemGroup>
Agora o.nupkg
arquivo possui o conteúdo docontentFiles
pasta dentro dele (em dois lugares, umcontent
pasta e umcontentFiles
pasta.
No entanto, quando instalo o pacote em outro projeto, os arquivos de conteúdo não aparecem, embora estejam listados no diretórioproject.assets.json
arquivo noobj
pasta.