c# – 对包含“任何CPU”和“x86”项目的Visual Studio 2010解决方案的建议

经常发生的是,单个C#解决方案包含一些专门针对x86的项目(通常是通过具有本机依赖关系),而其他项目是“任何CPU”。

直到最近,我一直进入配置管理器,确保解决方案平台是“任何CPU”。这不是太多的问题;它需要偶尔调整like the ones mentioned here,但总体来说不算太差。

不过,最近我开始怀疑这些努力是否被误导。我显然违反了Visual Studio 2010(之前的Visual Studio 2008)的设计方法。 “混合平台”实际上是一个准确的描述,虽然它最初感觉像有什么问题,但进一步的想法我得出结论,这不比“任何CPU”更为错误。

所以,最近我在这种情况下一直在选择保持“混合平台”或者改变为“x86”作为我的解决方案平台。后者反映了意图:最终的EXE文件是x86,并在64位操作系统上以32位模式运行。然而,前者是Visual Studio真正想要的。

在您的经验中,在这种情况下,有没有一种比其他方式更适合的特定解决方案平台?

注1:在我遇到的每一种情况下,’x86’都是由本地依赖关系证明的,“任何CPU”都是通过一个真正与平台无关的外部库来证明的。

注2:如果我理解正确,解决方案平台没有什么区别;这只是一个名字。当添加新项目时,似乎更改默认的“构建或不构建”复选框状态,但这只是它具有的唯一效果。对?

广告备注2:是的。解决方案平台只是一组项目配置的名称,包括是否构建或不构建特定项目。

我个人在所有桌面应用程序(台式机上使用x86),因为这些应用程序部署在最终用户的计算机上,通常几乎无法控制 – 如果将服务器应用程序部署到已知的服务器,这将更容易)。

原因:

> x86允许更容易的调试 – 在64位模式下运行时不支持编辑和继续。
>您将来无法预计何时会添加对需要x86的程序集的引用,并忘记在64位上正确测试,从而在64位部署上产生令人尴尬的运行时错误。

翻译自:https://stackoverflow.com/questions/3195371/recommendations-for-visual-studio-2010-solutions-that-contain-both-any-cpu-and

转载注明原文:c# – 对包含“任何CPU”和“x86”项目的Visual Studio 2010解决方案的建议