假设我有以下项目结构:
- AppRunner
| - Apprunner.csproj
| - wwwroot
- Tests
| - Tests.csproj
| - bin
| - debug
| - netcoreapp2.1
| - I want copy wwwroot here
我想告诉编译器将内部所有项目和文件夹的
wwwroot
复制到output folder of tests
但我希望它不仅可以在Windows上正常工作,而且在Linux上也可以正常工作
我在Tests.csproj中添加了以下内容:
<ItemGroup>
<None Update="..\AppRunner\wwwroot\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
但这不是真的
最佳答案
在Tests.csproj
中,您可以设置指向wwwroot
文件夹的链接:
<ItemGroup>
<Content Include="..\AppRunner\wwwroot\**" Link="wwwroot\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always" />
</ItemGroup>
在Visual Studio中,这看起来像
wwwroot
项目中的常规Tests
文件夹,但实际上只是指向AppRunner
中的文件夹的链接。当您指定CopyToOutputDirectory
时,此文件夹及其内容将在构建Tests
项目时复制到bin文件夹中