我是一名有用的助手,我可以为您进行文本翻译。以下是需要翻译的内容:
项目B引用了项目A:
当我构建项目B时,它足够智能,会复制由项目A生成的.dll文件和文本文件到输出目录。也就是说,当我构建项目B时,输出内容会像这样:
我有两个项目,我们称它们为项目A和项目B。
项目A有一个CopyToOutputDirectory内容项,如下所示:
<ItemGroup>
<Content Include="MyExampleDependency.txt">
<Link>MyFunOutputLocation\MyExampleDependency.txt</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
项目B引用了项目A:
<ItemGroup>
<ProjectReference Include="..\..\Shared\Project A.csproj">
<Project>{My GUID here</Project>
<Name>Project A</Name>
</ProjectReference>
</ItemGroup>
当我构建项目B时,它足够智能,会复制由项目A生成的.dll文件和文本文件到输出目录。也就是说,当我构建项目B时,输出内容会像这样:
bin\Project A\Project A.dll
bin\Project A\MyFunOutputLocation\MyExampleDependency.txt
bin\Project B\Project A.dll
bin\Project B\Project B.exe
bin\Project B\MyFunOutputLocation\MyExampleDependency.txt
<Exec
任务生成的文件,或者是一些自定义目标生成的文件等等。例如:<ItemGroup>
<Content Include="Foo.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<OutputFilePath>$(OutDir)</OutputFilePath>
<LastGenOutput>Foo.xml</LastGenOutput>
</Content>
</ItemGroup>
现在我构建的时候,最终得到的东西像这样:
bin\Project A\Project A.dll
bin\Project A\Foo.xml
<-- 没有被复制到 Project B!bin\Project A\MyFunOutputLocation\MyExampleDependency.txt
bin\Project B\Project A.dll
bin\Project B\Project B.exe
bin\Project B\MyFunOutputLocation\MyExampleDependency.txt
注意,当 Project A.dll
被复制到 Project B 时,它所需的生成文件并未随着 dll 文件一起被复制。如何通知 Project B 从 Project A 复制此文件(而不编辑 Project B 的 .csproj
文件)?
<Content Include="Foo.tt">
下缺少<CopyToOutputDirectory>Always</CopyToOutputDirectory>
。 - KMoraz