首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用32位程序集构建在x64 Server2008上运行的C# MVC应用程序

如何使用32位程序集构建在x64 Server2008上运行的C# MVC应用程序
EN

Stack Overflow用户
提问于 2010-01-28 23:59:57
回答 3查看 2.2K关注 0票数 3

我们有一个MVC应用程序,它依赖于许多第三方产品(例如Crystal、Topaz)。Topaz签名设备只有32位.dlls可用。因此,我假设我需要在32位应用程序池中构建和部署IIS7上的应用程序。

如果这个假设是正确的,那么我是否需要在VS2008编译器设置为"x86“的情况下构建MVC应用程序?

另外,所有引用的程序集也需要是32位的吗?如果是这样,我如何将32位的MVC文件放到x64 Server2008上?

最后,我如何使inetpub/ directories对x86友好,或者这是由于其他原因而发生的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-29 00:35:22

如果这个假设是正确的,那么我是否需要构建VS2008编译器设置为"x86“的MVC应用程序(现在我使用"Any CPU"?

您可以将其设置为任何CPU,它将在32位或64位上运行,这取决于您的应用程序池设置,并且只要您的其他依赖dll也使用"any CPU“进行了编译。

另外,是否所有引用的程序集都需要也是32位的?如果是这样,我如何将32位的MVC文件放到x64 Server2008上?

如果使用非托管代码(或引用程序集),则需要获取该assembly.If的特定32位和64位版本。如果在应用程序池中启用了32位应用程序,则这些应用程序将在WoW64模式下运行。

另一个参考:http://blogs.msdn.com/gauravseth/archive/2006/03/07/545104.aspx

如果您有x64版本,它们将在本地以64位运行

托帕兹签名设备只有32位.dlls可用。因此,我假设我需要在32位应用程序池中构建和部署IIS7上的应用程序。

你是怎么验证它的?你使用Corflags.exe了吗?你可以在here上了解更多。不管您的PE标头(PE32或PE32+)是否设置为0,如果设置为1,则可以在64位应用程序pool.Even上运行,如果未签名,则可以将其设置为0(但可能不值得冒险)并在64位应用程序池上运行

票数 1
EN

Stack Overflow用户

发布于 2010-01-29 00:18:03

如果您的MVC应用程序以32位运行,这有关系吗?或者,您是否有一个令人信服的理由尝试使用64位?

如果你能接受32位,那就把你所有的程序集编译成x86。当您在x64服务器2008上配置IIS时,请确保将应用程序池-set“启用32位应用程序”上的“高级设置”更新为true。

帕特里克

票数 1
EN

Stack Overflow用户

发布于 2010-01-29 00:21:50

如果这个假设是正确的,那么我是否需要构建VS2008编译器设置为"x86“的MVC应用程序(现在我使用"Any CPU"?

是的,完全正确。

另外,是否所有引用的程序集都需要也是32位的?如果是这样,我如何将32位的MVC文件放到x64 Server2008上?

不需要,如果这些程序集是作为任何处理器构建的,那么只要您的入门程序集是32位的,.Net框架就会将其解析为32位。

最后,我如何使inetpub/目录对x86友好,或者这是由于其他原因而神奇地发生的吗?

它就是神奇地发生了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2155864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档