6

一个非常大的解决方案中的许多项目之一不知何故设置为 Build Platform == Active (x86)。我希望它匹配所有其他项目(“任何 CPU”)。

我成功地将平台目标下拉列表从“Active (x86)”更改为“Any CPU”,但平台下拉列表将“Active (x86)”作为唯一选项:

在此处输入图像描述

我不知道这个项目是如何与其他项目开始“不同步”的,更重要的是如何让它与其他项目保持一致......

更新

我认为问题可能是我的 VS 安装设置为 VB 而不是 C#(它是由 IT 完成的,这里的大多数猫都是 VB 开发人员)。

这: http: //go4answers.webhost4life.com/Example/buildsolution-configuration-dropdown-188435.aspx提到工具 | 设置,但我没有这样的菜单项。

我确实选择了将设置重置为原始设置的选项,并且“设置重置正在进行”对话框现在已经搅拌了近半个小时,VS“(无响应”)

更新 2

现在我在 Windows CE 项目中遇到了相反的问题——我需要它是“x86”,它拒绝从“任何 CPU”更改为。

我想要更改此设置的原因是因为尝试在手持设备上运行此应用程序时,我收到“找不到 P/Invoke DLL sqlcemeNN.dll”错误消息。

据此:“如果您的机器是 64 位机器,您可能已陷入默认目标平台 'Any CPU' 陷阱,请将目标平台设置为 'x86'。需要更多详细信息,请访问 ErikEJ 的博客文章。

我的机器64 位的,我确实阅读了参考的博客文章

...但我的配置管理器的“活动解决方案平台”下拉菜单中没有“x86”选项。“任何 CPU”是它给我的唯一选择......

在输入之后,我能够以某种方式强制“活动解决方案平台”下拉菜单显示“x86”,但我认为它并没有真正改变任何东西。在网格中,唯一的选项是“任何 CPU”。从“Project”列中选择“Edit...”(没有“New...”)只会在列表中显示“Any CPU”、一个灰色的“Remove”按钮和一个 Close 按钮​​(“greyedoutprojectplatforms .png")

所以我尝试的是我将项目的 .csproj 文件中“任何 CPU”的每个实例都更改为“x86”,但在项目 > 属性 > 构建 > 平台目标中仍然显示“任何 CPU”!

4

1 回答 1

5

尝试从解决方案文件向您的项目添加新的构建配置(在 Visual Studio 上右键单击它,然后转到Configuration Manager

否则,您可以手动编辑项目文件(使用记事本打开 *.csproj)并添加回AnyCpu的规则 http://msdn.microsoft.com/en-us/library/ms734788(v=vs.85).aspx .

如果您在一个具有源代码控制和持续集成的团队中工作,那么这可能已经被某人更改以满足对构建服务器的要求。可能最干净的事情是为您的项目添加自定义构建配置,并在您的解决方案中使用该配置。

于 2013-07-12T18:59:29.640 回答