Итак, в вашем случае:

авно переехал вVisual Studio 2017 Community Edition. Имеет 2 приятных новых функции

Вам не нужно явно включать ваши исходные файлы в csproj, он делает это автоматически,он может создавать пакеты nuget напрямую.

Я хочу упаковать мой открытый исходный кодCodeFirstWebFramework DLL как пакет nuget. А также включаяDLLпакет должен включать целое дерево каталогов других файлов (включая файлы .js, .tmpl, .css и .md).

Как мне сказатьVisual Studio что я хочу чтобы это дерево каталогов было включено в пакет?

Из той информации, которую я нашел с помощью расширенного поиска и игнорирования всей устаревшей информации, которая включает добавление файлов в csproj, все, что я мог найти, это поместить их вcontentFiles папка, но это не похоже на работу.

Мой файл проекта выглядит так:

<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>

Дико догадываясь, что мне может понадобиться из-за противоречивой и устаревшей информации в Интернете, я добавил следующее:

  <ItemGroup>
    <Content Include="contentFiles/**/*.*" copyToOutput="true">
      <IncludeInPackage>true</IncludeInPackage>
    </Content>
  </ItemGroup>

Теперь.nupkg файл содержит содержимоеcontentFiles папка инсайдерская (в двух местахcontent папка иcontentFiles папка.

Однако при установке пакета в другом проекте файлы содержимого не отображаются, хотя они перечислены вproject.assets.json файл вobj папка.

Ответы на вопрос(3)

Ваш ответ на вопрос