gpt4 book ai didi

NuGet 包目标 - 如何在构建时将文件复制到目标目录的子文件夹?

转载 作者:行者123 更新时间:2023-12-04 15:46:49 25 4
gpt4 key购买 nike

我正在尝试将两个文本文件添加到我的 nuget 包中,以便当包的用户构建项目时,一个文件被复制到构建目录的根目录,而另一个文件被复制到像这样 Root

\bin\Debug\ - 1.TXT
- SubFolder\ - 2.TXT

此目录结构是包中程序集的要求,这些程序集将在运行时在那些特定位置查找这些文件。

基于此https://stackoverflow.com/a/30386836/1462656还有这个https://stackoverflow.com/a/44752745/1462656

我能够创建一个将 1.txt 复制到根目录的目标文件,但是当我将包添加到项目并构建它时,它只会复制 2.txt 到根目录。我创建了一个build文件夹如下

enter image description here

我的目标文件看起来像这样

<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\2.txt">
<Link>2.txt</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

如何创建子文件夹并将文件复制到该文件夹​​?

最初我使用 content 文件夹将我的内容文件和子文件夹添加到 nuget 包中,但我发现虽然文件以正确的目录结构添加到解决方案本身,但文件添加的属性设置为“不复制”,因此它们不会复制到构建目录 - 所以我改用上述方法。有没有办法结合这两种方法?

最佳答案

我想我用下面的方法解决了它

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

基于此处找到的解决方案 https://stackoverflow.com/a/30316946/1462656

关于NuGet 包目标 - 如何在构建时将文件复制到目标目录的子文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com