nuget包中的.targets文件-如何将内容文件包含到构建中

时间:2019-03-21 18:08:44

标签: msbuild nuget

我有一个像这样的nuget包:

/build/SharedTargets.targets
/content/File.cs

SharedTargets.targets如下:

<Compile Include="$(MSBuildThisFileDirectory)\..\content\File.cs">
  <Link>File.cs</Link>
  <Visible>True</Visible>
</Compile>

有没有一种方法可以更优雅地引用内容文件?即如何正确构建内容的相对路径。

1 个答案:

答案 0 :(得分:2)

基本上就是这样做的方法。

我建议不要将.cs文件放在content子文件夹中,因为它们可能最终出现在旧版package.config项目的项目目录中。

如果仅使用PackageReference来引用程序包,则可以改用contentFiles-NuGet功能,可让您将具有关联的构建操作(Compile,EmbeddedResource等)的文件逻辑添加到构建中不需要.targets文件的过程。参见Using the contentFiles element for content files 用于基本的NuGet机制。