【发布时间】:2013-06-27 22:03:16
【问题描述】:
我有一些构建为 AnyCPU 的 csproj 文件,这些文件附带一些为特定架构构建的本机组件。这些文件需要放在同一个位置,所以我想根据当前选择的平台和配置来设置输出目录:
<PropertyGroup>
<OutputPath>$(SolutionDir)\bin\$(Configuration)_$(Platform)\</OutputPath>
</PropertyGroup>
不幸的是,因为这是在 AnyCPU 项目中,所以它没有生成 $(SolutionDir)\bin\Release_x64\ 的输出目录,而是生成了 $(SolutionDir)\bin\Release_AnyCPU 的输出目录。
我想避免制作这个库的新的位特定版本。我只是希望构建将文件放置在正确的位置。
csproj 如何知道整个构建的平台是什么?
【问题讨论】:
-
澄清一下:您希望您的项目能够参考整体解决方案的平台?
-
@Simon:是的,没错。如果没有别的只是将文件复制到正确的位置。 (我可能会不理会 OutputPath 并执行构建后目标以复制到正确的位置,但这仍然需要整体解决方案中的平台/配置才能知道该位置)
-
只是提醒一下,我认为 VS 不会开箱即用地处理这种情况。您可以手动编辑
.csproj文件并使用 MSBuild 执行一些 hacky 命令行业务。我不确定这究竟意味着什么(MSBuild 并不是我真正的专业领域!)