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

C# MSBuild:使用项目依赖项时如何保留其他文件?,c#,msbuild,C#,Msbuild,我有两个C项目,A和B。 在A的csproj文件中,它将使用复制任务将文件C复制到目标文件夹 然后,项目B使用B的csproj文件中的引用项目A 现在的问题是,在构建项目B时,目标文件夹中不会有C,你知道吗?在项目A中不使用Copy任务,而是将要复制的文件添加为内容项,并将copytooutdirectory标记设置为Always,如下所示: <ItemGroup> <Content Include="SomeFile.txt"> <Copy

我有两个C项目,A和B。 在A的csproj文件中,它将使用复制任务将文件C复制到目标文件夹

然后,项目B使用B的csproj文件中的
引用项目A


现在的问题是,在构建项目B时,目标文件夹中不会有C,你知道吗?

在项目A中不使用
Copy
任务,而是将要复制的文件添加为内容项,并将
copytooutdirectory
标记设置为
Always
,如下所示:

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

总是
(这也可以在Visual Studio的GUI中通过在文件属性中将“复制到输出目录”设置为“始终复制”来完成)

当项目A被项目B引用时,文件C(SomeFile.txt)将同时出现在项目B和项目A的输出目录中


我已经在VisualStudio2013上测试过了,它的效果与预期一样。请注意CopyToOutputDirectory的局限性,它将尝试重新创建文件夹结构,将其存储在输出目录中,但这并不总是可取的。

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

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

总是
(这也可以在Visual Studio的GUI中通过在文件属性中将“复制到输出目录”设置为“始终复制”来完成)

当项目A被项目B引用时,文件C(SomeFile.txt)将同时出现在项目B和项目A的输出目录中


我已经在VisualStudio2013上测试过了,它的效果与预期一样。请注意CopyToOutputDirectory的局限性,它将尝试重新创建文件夹结构,在该文件夹结构中,它存储在输出目录中,但这并不总是可取的。

您在项目a中使用复制任务复制文件C,有什么原因吗,不是将其添加为项目中的内容项或无项,而是设置CopyToOutputDirectory Always/PreserveNewst?您为什么要在项目中使用复制任务复制文件,而不是将其添加为项目中的内容项或无项,并设置CopyToOutputDirectory Always/PreserveNewst?