关于这个问题,有一个NuGet博客文章,目前不支持此功能。
支持的项目类型
此功能仅适用于通过project.json文件管理的项目将安装的软件包。目前,只有两种项目类型由project.json管理。
- UWP应用程序
- 可移植类库
contentFiles选项不适用于其他项目类型。
非常遗憾基本功能已从.NET Core项目中删除。特别是因为支持PCL,它是.NET Core项目的子集。
Github上有很多相关问题,目前还不清楚这个功能是否会很快回来。
<file src="config.xml" target="contentFiles\any\any\config.xml" />
3. 添加一个新的 .targets 文件 XY.targets
4. 将新的 XY.targets 文件包含到您的软件包中的 "build" 文件夹中。<file src="XY.targets" target="build"/>
XY.targets 文件的内容:<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ContentFilesPath>$(MSBuildThisFileDirectory)..\contentFiles\any\any\</ContentFilesPath>
</PropertyGroup>
<Target Name="CopyConfigs" BeforeTargets="PreBuildEvent">
<Copy SourceFiles="$(ContentFilesPath)\config.xml" DestinationFiles="$(ProjectDir)config.xml" SkipUnchangedFiles="true" Condition="!Exists('$(ProjectDir)config.xml')"></Copy>
</Target>
</Project>
Restore
目标而不是 PreBuildEvent
将文件复制到包使用方项目中,效果非常好。 - ViRuSTriNiTyRestore
目标语句,它不可靠,似乎只有在使用dotnet restore
或项目的第一次构建时才有效。 - ViRuSTriNiTydotnet pack
时,您可以将所有属性都包含在项目文件中,而不是使用单独的 .nuspec
文件。 - ViRuSTriNiTy