7

我有一个奇怪的问题,希望有人可以帮助我。

我有一个包含 13 个独立 C# 项目的解决方案。我正在使用 Vista x64 进行开发,并且我想构建这些项目以针对 x86 平台。这通常很容易。我可以转到解决方案属性-> 配置属性并将平台更改为 x86。这里奇怪的是我的 3 个项目拒绝让我选择 x86。

所以,我想我会分别去这三个项目中的每一个,并在项目属性->构建和更改平台中进行更改。并且这些项目没有配置和平台下拉菜单。我搜索了一下,在工具->选项->项目和解决方案->显示高级构建配置中找到了一个设置。选择此选项后,当转到有问题的项目的项目属性时,我现在可以看到两个下拉菜单,但平台只允许我选择 Active (Any CPU)。

对于这些项目,我也无法将解决方案属性中的平台更改为 x86。

有任何想法吗?

4

4 回答 4

12

听起来构建配置已经搞砸了。这三个项目可能是在解决方案配置为支持 x86 后添加的(新项目仅支持 AnyCPU,即使解决方案支持更多平台。)

  • 转到构建-> 配置管理器...
  • 将“Active Solution Platform”更改为 x86(如果存在。如果只有 AnyCPU,则使用它。)
  • 对于每个违规项目,在平台列中,选择“新建”
  • 选择 New Platform 作为“x86”,从“Any CPU”复制设置,并确保未选中该复选框。
  • 点击确定。

使解决方案和单个项目之间的配置/平台保持一致可能很棘手。配置管理器可能会出现意外行为 - 特别是使用自定义解决方案配置。我建议先玩测试解决方案。

于 2009-07-16T12:22:57.757 回答
2

我也在 x64 上开发并部署到 x86。但是,我不会从默认值(任何 CPU)更改平台,它对我来说很好。您是否有任何跨平台工作方式不同的代码(例如 Win 互操作)?查看Hanselman的这篇文章,了解有关 32/64 位 .NET 目标的详细信息。

于 2009-07-16T11:47:30.970 回答
0

我会比较 csproj 文件的文本内容,看看是否有任何设置丢失或意外丢失。还要检查 sln 的内容,也许配置有些奇怪。

问候,

塞巴斯蒂安

于 2009-07-16T11:19:48.810 回答
-2

对于 Visual Studio 2010。要运行 Access 12.0:在解决方案资源管理器中右键单击项目名称,选择属性 - 构建* - 目标平台 - x86。

于 2011-10-31T20:07:28.137 回答