.net - 展平 msbuild 项目输出中包含的文件
问题描述
我有一个使用新的 .Net SDK 项目格式的 MSBuild 项目。
我正在尝试包含来自解决方案外部的文件,这些文件具有自己的文件夹结构,并在进入构建目录时展平该结构。
IE
Solution\
Lib\
lib1\
file1.dll
file2.dll
lib2\
file3.dll
file3.dll
Project\
project.csproj
\Lib
我希望在我的 Visual Studio 项目中表示整个结构。我可以通过以下方式做到这一点:
<ItemGroup>
<None Include="$(SolutionDir)\Lib\**\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
问题是,输出目录包含相同的文件夹结构。我希望所有文件被展平以简单地存在于我的\bin
目录中,而不是\bin\lib1\file1.dll
,\bin\lib2\file3.dll
等。
有没有办法在项目文件中处理这个问题?
解决方案
您应该可以将其更改为
<None Include="$(SolutionDir)\Lib\**\*" TargetPath="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
更新后的目标路径将不再包含子目录。
推荐阅读
- mysql - 选择mysql返回0行
- c# - Create dictionary outside and initialize it using LINQ
- javafx - Cleaning up bindings and change listeners on nested properties when parent properties change in javafx
- docker - 你推荐在 WSL 上使用 Docker 吗?还是更好地在 Windows 上本地使用?
- c++ - 在不更改选择的情况下更新 QTreeView
- cmd - 如何首先列出具有文件夹名称的指定驱动器上的所有文件夹,然后是间隙然后是文件夹的完整路径?
- rendering - dompdf 在 1 行中渲染完整的 html
- r - Rstudio 项目导致 rsession 内存永远增加
- xml - XSLT - Nested XML to CSV output
- css - SVG CSS animation after hover off