[英]How can you access the Visual Studio solution level platform from a C# project's build event?
[英]How can I reference the solution's platform from a C# csproj file?
我有一些构建为AnyCPU的csproj文件,它们附带了一些为特定体系结构构建的本机组件。 这些文件需要放在同一个位置,所以我想根据当前选择的平台和配置设置输出目录:
<PropertyGroup>
<OutputPath>$(SolutionDir)\bin\$(Configuration)_$(Platform)\</OutputPath>
</PropertyGroup>
不幸的是,因为这是在AnyCPU项目中,而不是产生$(SolutionDir)\\ bin \\ Release_x64 \\的输出目录,它产生$(SolutionDir)\\ bin \\ Release_AnyCPU的输出目录。
我想避免为这个库创建新的bitness特定版本。 我只是希望构建将文件放在正确的位置。
csproj如何知道整个构建的平台是什么?
$(Platform)值与托管项目完全无关。 它不会以任何方式影响项目的构建方式和运行方式。 决定体系结构的抖动是在运行时发生的,而不是构建时间。
有任何影响的唯一设置项目+属性,生成标签,目标平台。 此设置的值不是由$(平台)确定的。 自VS2010以来,这引起了巨大的混乱。
您现在应该看到解决方案,因为平台名称无关紧要,您可以简单地使其与C ++项目的平台名称相同。 如有必要,将x64和Win32配置添加到托管项目。 并删除 AnyCPU配置,因为您不再需要它。 内置+配置管理器,以确保所有项目使用相同的平台。 问题解决了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.