NuGet 包目标 - 如何在构建时将文件复制到目标目录的子文件夹?
NuGet package targets - how to copy files to subfolder of target dir on build?
我正在尝试将两个文本文件添加到我的 nuget 包中,以便当包的用户构建项目时,一个文件被复制到构建目录的根目录,而另一个文件被复制到子文件夹像这样的根
\bin\Debug\ - 1.TXT
- SubFolder\ - 2.TXT
此目录结构是包中程序集的要求,这些程序集将在运行时在那些特定位置查找这些文件。
基于此
而这个
我能够创建一个将 1.txt
复制到根目录的目标文件,但是当我将包添加到项目并构建它时,它只是将 2.txt
复制到根目录。我创建了一个build文件夹如下
我的目标文件如下所示
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)1.txt">
<Link>1.txt</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)SubFolder.txt">
<Link>2.txt</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
如何创建子文件夹并将文件复制到该文件夹?
最初我使用 content
文件夹将我的内容文件和子文件夹添加到 nuget 包中,但我发现虽然文件以正确的目录结构添加到解决方案本身,但文件是添加了设置为 'Do Not Copy' 的属性,因此它们不会被复制到构建目录 - 所以我改用上述方法。有没有办法结合这两种方法?
我想我使用以下方法解决了它
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<RequiredFiles Include="$(MSBuildThisFileDirectory)**\*" />
<None Include="@(RequiredFiles)">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
基于此处找到的解决方案
我正在尝试将两个文本文件添加到我的 nuget 包中,以便当包的用户构建项目时,一个文件被复制到构建目录的根目录,而另一个文件被复制到子文件夹像这样的根
\bin\Debug\ - 1.TXT
- SubFolder\ - 2.TXT
此目录结构是包中程序集的要求,这些程序集将在运行时在那些特定位置查找这些文件。
基于此
而这个
我能够创建一个将 1.txt
复制到根目录的目标文件,但是当我将包添加到项目并构建它时,它只是将 2.txt
复制到根目录。我创建了一个build文件夹如下
我的目标文件如下所示
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)1.txt">
<Link>1.txt</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)SubFolder.txt">
<Link>2.txt</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
如何创建子文件夹并将文件复制到该文件夹?
最初我使用 content
文件夹将我的内容文件和子文件夹添加到 nuget 包中,但我发现虽然文件以正确的目录结构添加到解决方案本身,但文件是添加了设置为 'Do Not Copy' 的属性,因此它们不会被复制到构建目录 - 所以我改用上述方法。有没有办法结合这两种方法?
我想我使用以下方法解决了它
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<RequiredFiles Include="$(MSBuildThisFileDirectory)**\*" />
<None Include="@(RequiredFiles)">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
基于此处找到的解决方案