【发布时间】:2021-09-22 01:15:22
【问题描述】:
我通过 ClickOnce 发布的 C# projectA 依赖于 projectB。我需要 projectB.dll.config 文件才能使 projectA 工作。虽然 MSBuild 将 projectB.dll.config 正确复制到 projectA/bin/ConfigXY,但它并未发布。 VisualStudio (2017) 甚至没有在 Application->Publish->Application Files 中显示该文件。
作为一种解决方法,我将其添加到 A.csproj:
<Content Include="..\projectB\bin\Release\projectB.dll.config">
<Link>projectB.dll.config</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
现在 VS 在“应用程序文件”列表中显示该文件,但这当然仅适用于发布构建配置。由于我在项目 A 中有很多配置映射到 B 中的不同配置,因此我不能简单地在路径中使用 $(Configuration)。
我找到了一些包含 ..\**\*.dll.config 的建议,但这似乎很危险,因为当 Debug 和 Release 文件夹都存在时(来自以前的版本),我可能会得到错误的文件夹。
这样做的正确方法是什么?
【问题讨论】:
标签: msbuild visual-studio-2017 clickonce