[英]Can't set platform to x86 in Visual Studio 2008 C# Express Edition
[英]Setting 32-bit x86 build target in Visual C# 2008 Express Edition?
我正在构建一个加载32位COM dll的C#应用程序。 编译的应用程序在32位Windows上正常运行,但在64位Windows上运行barfs,因为它无法加载32位COM。 有没有办法在VC#2008 Express Edition中设置32位构建目标?
或者,有没有办法强制编译到AnyCPU构建目标的.NET应用程序在64位Windows上以32位模式运行?
对于后代,这里是adrian链接到的论坛帖子:
在VC#Express中,缺少此属性,但如果您知道要查找的位置,仍可以创建x86配置。
它看起来像一长串的步骤,但一旦你知道这些东西在哪里,它就容易多了。 只有VC#Express的人可能会觉得这很有用。 一旦了解了Configuration Manager,下次它就会更加直观。
- 在VC#Express 2005中,转到“工具” - >“选项”。
- 在“选项”对话框的左下角,选中“显示所有设置”框。
- 在左侧的树视图中,选择“项目和解决方案”。
- 在右侧的选项中,选中“显示高级构建配置”框。
- 单击确定。
- 转到Build - > Configuration Manager ...
- 在项目旁边的“平台”列中,单击组合框并选择“”。
- 在“新平台”设置中,选择“x86”。
- 单击确定。
- 单击关闭。
在那里,现在你有一个x86配置! 非常简单! :-)
我还建议使用Configuration Manager删除Any CPU平台。 如果您曾经依赖于32位本机DLL(甚至是间接依赖项),那么您真的不希望这样。
您无法在VS Express的UI中将其显式设置为32位,但显然(我手边只有Professional版本)可以使用一些设置来完成。 这篇论坛帖子详细介绍了如何做到这一点。
您还可以使用.Net Framework SDK附带的CorFlags工具将已编译的输出设置为32位运行。 要使用CorFlags设置32位标志,请从命令行运行:
CorFlags.exe /32BIT+ yourapp.exe
这将在你的exe的标题中设置一个标志,向.Net发出信号,它应该以32位运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.