如何在Visual Studio项目中更改Build.Platform属性?

6

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

我成功地将“平台目标”下拉菜单从“Active (x86)”更改为“任何 CPU”,但“平台”下拉菜单仍然只有“Active (x86)”作为选项:

enter image description here

我不知道这个项目如何开始时与其他项目“失步”,更重要的是如何将其与其他项目重新对齐...
更新:
我认为问题可能是我的VS安装设置为VB而不是C#(由IT完成,这里的大部分开发人员都是VB开发人员)。
这个链接http://go4answers.webhost4life.com/Example/buildsolution-configuration-dropdown-188435.aspx提到了工具|设置,但我没有这样的菜单项。
我选择了将设置重置为原始选项,并且“正在进行设置重置”对话框已经运行了接近半个小时,VS处于“(未响应)”状态。
更新2:
现在我有一个Windows CE项目的相反问题 - 我需要它是“x86”,但它拒绝从“Any CPU”更改。
我想更改这个设置的原因是,尝试在手持设备上运行此应用程序时出现了“找不到 P/Invoke DLL sqlcemeNN.dll”错误消息。
根据this所述:“如果您的计算机是 64 位的,则可能已经陷入了默认目标平台“Any CPU”的陷阱,请将目标平台设置为“x86”。需要更多详细信息,请访问ErikEJ的博客文章。
我的计算机 64 位的,并且我确实阅读了引用的博客文章 ...但我在我的配置管理器的“活动解决方案平台”下拉菜单中没有“x86”选项。“Any CPU”是唯一给我的选择...
我成功地将“Active Solution Platform”下拉菜单强制更改为“x86”,但我不认为它真正改变了什么。在网格中,唯一的选项是“Any CPU”。从“Project”列中选择“Edit…”(没有“New…”)只显示列表中的“Any CPU”,一个灰色的“Remove”按钮和一个关闭按钮(“greyedoutprojectplatforms.png”)。
所以我尝试将项目的.csproj文件中每个“Any CPU”的实例都更改为“x86”,但仍然在“Project > Properties > Build > Platform Target”中显示“Any CPU”。

当您在文本编辑器中编辑.csproj文件时,您会看到什么? - C.J.
现在我看到的只是沙漏/无响应消息,已经一个多小时了,尝试将设置恢复为原始设置(或尝试恢复),但没有效果。 - B. Clay Shannon-B. Crow Raven
我最终给了Rip Van Winklesque实例的VS三指敬礼,(有关正在进行的传奇的更多评论,请参见我在Giorgio下面的评论)。 - B. Clay Shannon-B. Crow Raven
31个项目中的每一个都有一个.csproj文件。整个解决方案是否有类似的文件? - B. Clay Shannon-B. Crow Raven
我将.sln文件视为文本,没有看到任何“有趣”的东西。最近我花了太多时间来“驯服野兽”,而不是编码。 我的目标是创造,而不是成为配置机械师,在编码工具的深处和阴暗的潜水层中微调晦涩难懂的奥秘。 换句话说:啊啊啊啊啊!!! - B. Clay Shannon-B. Crow Raven
1个回答

5
尝试从解决方案文件中为您的项目添加新的构建配置(在Visual Studio上右键单击它,选择属性,然后转至配置管理器)。
否则,您可以手动编辑项目文件(使用记事本打开*.csproj),并添加回AnyCpu规则。http://msdn.microsoft.com/en-us/library/ms734788(v=vs.85).aspx 如果您正在与源代码控制和持续集成的团队共同工作,则可能已被其他人更改以满足构建服务器的要求。 最干净的做法是为您的项目添加自定义构建配置,并在您的解决方案中使用该配置。

1
好的,我将两个难以处理的项目从“x86”改成了“Any CPU”,方法是从平台下拉菜单中选择“新建”,然后将“新平台”设置为“Any CPU”,将“复制设置从”设置为空白,并确保未选中“创建新的解决方案平台”复选框。现在所有平台(31个项目的所有平台)都被设置为“Any CPU”。 - B. Clay Shannon-B. Crow Raven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接