我已经尝试过的:
我有以下的.nuspec文件,定义了我的软件包(为了更好的可读性而简化):
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
.
.
.
<dependencies/>
<contentFiles>
<files include="any\any\config\*.*" buildAction="None" copyToOutput="true" flatten="false"/>
</contentFiles>
</metadata>
<files>
<file src="bin\Assembly.dll" target="lib\net461" />
<file src="bin\Assembly.pdb" target="lib\net461" />
<file src="Config\cf.xml" target="contentFiles\any\any\config"/>
<file src="Config\cf.txt" target="contentFiles\any\any\config"/>
</files>
</package>
如您所见,它包含一个已编译的程序集以及它的调试符号文件,还有一个子目录中的两个内容文件。
这将导致以下编译输出,其中“Assembly.dll”被提取到输出目录以及“config”子目录(其中包含两个cf.*文件):
问题:
我想要做的是将子目录config向上移动一个级别,使其位于输出目录旁边 - 基本上保持在.nuspec文件中文件输入的结构(假设bin是我的.csproj的输出目录):
如何告诉NuGet包我想要将contentFiles提取到精确位置?
src
是nuspec的源/输入(https://learn.microsoft.com/en-us/nuget/reference/nuspec#file-element-attributes)。要移动`config`文件夹,您可能需要更新`.csproj`文件而不是`nuspec`。 - Renat