.net 点网络版本:如何将内容输出从依赖项复制到输出文件夹?

dpiehjr4  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(152)

我有两个单元测试项目,Tests.Common和Tests.Foobar。Tests.Foobar引用Tests.Common作为依赖项。Tests.Common包括Tests.Common和Tests.Foobar都使用的内容文件。在构建项目时,这些内容文件被复制到Tests.Common的输出文件夹中。
但我也希望在构建项目时将内容文件复制到Tests.Foobar的输出文件夹中。这看起来以前是有效的,但在我们转移到SDK风格的项目和dotnet build(而不是TeamCity中的Visual Studio构建)后就停止了。
我是否必须使用自定义构建目标,或者是否可以使用一些.csproj设置?它必须与dotnet build一起工作,而不仅仅是在Visual Studio中,因为这是我们在TeamCity中使用的。

jc3wubiy

jc3wubiy1#

没有找到更好的解决方案,因此从Including content files in .csproj that are outside the project cone中获得一些灵感,我将以下内容添加到Tests.Foobar.csproj中:

<ItemGroup>
    <Content Include="..\Tests.Common\TestData\**\*.*">
        <Link>TestData\%(RecursiveDir)%(Filename)%(Extension)</Link>
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="..\Tests.Common\TestDataExpectedResults\**\*.*">
        <Link>TestDataExpectedResults\%(RecursiveDir)%(Filename)%(Extension)</Link>
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
</ItemGroup>

虽然不完美,但效果很好。

相关问题