我有2个C#项目,A和B. 在A的csproj文件中,它将使用“复制任务”
将文件C复制到目标文件夹然后,项目B在B的csproj文件中使用<ProjectReference>
引用项目A.
现在的问题是,在构建项目B时,目标文件夹中没有C,任何想法?
答案 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存在限制,但它会尝试重新创建存储在输出目录中的文件夹结构,这并不总是令人满意。