gpt4 book ai didi

.net - 如何构建具有 32 位程序集的 C# MVC 应用程序以在 x64 Server 2008 上运行

转载 作者:行者123 更新时间:2023-12-02 02:35:13 24 4
gpt4 key购买 nike

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

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

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

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

最佳答案

If that assumption is correct, then do I need to build the MVC app with the VS2008 compiler setting to "x86" (right now I'm using "Any CPU"?

您可以将它设置为任何 CPU,它将在 32 位或 64 位上运行,具体取决于您的应用程序池设置,只要您的其他依赖 dll 也使用“任何 CPU”编译

Also, do all the referenced assemblies need to be 32-bit as well? If so, how do I get 32-bit MVC files onto a x64 Server 2008?

如果您使用的是非托管代码(或引用程序集),您需要获取该程序集的特定 32 位和 64 位版本。如果您有 32 位程序集,并且如果您在应用程序池中启用 32 位应用程序,它们将在 WoW64 模式下运行

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

如果你有 x64 版本,它们将以 64 位 native 运行

The Topaz signature device only has 32-bit .dlls available. So I'm assume that I need to build and deploy the app on IIS 7 in an a 32-bit App Pool.

你是怎么验证的?你用过 Corflags.exe 吗?你可以了解更多here .不管你的PE头文件(PE32还是PE32+)如果你的32BIT设置为0,你都可以在64位应用程序池上运行它。即使它设置为1,如果没有签名,你可以将它设置为0(但可能不值得冒险)并在 64 位应用程序池上运行它

关于.net - 如何构建具有 32 位程序集的 C# MVC 应用程序以在 x64 Server 2008 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2155864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com