MSBuild:如何在使用项目依赖项时保留其他文件?

时间:2016-02-03 19:44:17

标签: c# msbuild

我有2个C#项目,A和B. 在A的csproj文件中,它将使用“复制任务”

将文件C复制到目标文件夹

然后,项目B在B的csproj文件中使用<ProjectReference>引用项目A.

现在的问题是,在构建项目B时,目标文件夹中没有C,任何想法?

1 个答案:

答案 0 :(得分:0)

您可以添加要作为内容项复制的文件,而不是使用项目A中的Copy任务,CopyToOutputDirectory标记设置为Always,如下所示:

  <ItemGroup>
    <Content Include="SomeFile.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

(这也可以在Visual Studio的GUI中通过设置&#34;复制到输出目录&#34;到&#34;始终复制&#34;在文件属性中)来完成

当项目A被项目B引用时,文件C(SomeFile.txt)将出现在项目B和项目A的输出目录中,这应该按照您的意愿运行。

我在Visual Studio 2013上对此进行了测试,这可以按预期工作。请注意,尽管CopyToOutputDirectory存在限制,但它会尝试重新创建存储在输出目录中的文件夹结构,这并不总是令人满意。

相关问题