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

Você não precisa incluir explicitamente seus arquivos de origem no csproj, isso é feito automaticamente,ele pode criar pacotes de nuget diretamente.

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.

questionAnswers(3)

yourAnswerToTheQuestion