visual-studio-2005 - 如何为 ASP.NET "web site"项目设置平台目标

标签 visual-studio-2005 64-bit com-interop vs-web-site-project vs-web-application-project

我不断遇到“网站项目”与“Web 应用程序项目”之间的各种细微差别 - 这是我的最新情况:

我继承了包含多个类库项目(DAL.dll、Biz.dll 等)的 Visual Studio 2005 解决方案,但这全部由网站项目“前置”而不是 Web 应用程序项目。

虽然网络应用项目提供了平台目标下拉列表(任何CPU、x86、x64),但可怜的网站项目似乎没有提供任何类似的东西。 有没有办法确保网站在 64 位 IIS 计算机上托管时以 x86 运行

..我问这个问题的大局是这样的:

该网站在 64 位计算机(Win Server 2003)上运行,并且[我刚刚了解到]无法加载 32 位 COM 对象,我相信该对象已使用运行时可调用包装器进行了包装。因为它无法加载这一部分,所以设置了一个 web.config 设置,通过绕过这个 32 位 dll 的加载来避免运行时加载错误(但是当站点在 64 位上运行时,COM dll 的所有功能都会“丢失”)位机)。

因此,总而言之,我认为 64 位计算机上的网站必须作为 64 位应用程序在 IIS 中运行,并且如果我可以让该网站以 32 位运行,那么它可以 加载 COM dll,从而执行应用程序的功能。

注意:我一直在这里进行研究,以便在进入实际的开发环境时快速掌握,因此我的大部分问题都是基于将我即将面临的[预期]问题的各个部分拼凑在一起。谢谢。

最佳答案

据我所知,在服务器 03 下,您不能在 IIS 中同时拥有 64 位和 32 位应用程序池。

您可以强制它在 32 位模式下运行,但这会影响所有应用程序池,从而影响所有网站/应用程序。这听起来应该可以解决您的 COM 问题,但它可能会影响该机器上运行的任何其他内容,因此请注意这一点。公平地说,从 64 位切换到 32 位产生影响的机会比反之亦然要小。唯一想到的必须在 64 位应用程序池中运行的常见问题是 Exchange 07。话虽如此,我是一名开发人员,而不是服务器管理员。

如果您确定,请查看 here

顺便说一句,服务器 08 可以同时运行 64 位和 32 位应用程序池。

关于visual-studio-2005 - 如何为 ASP.NET "web site"项目设置平台目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883124/

相关文章:

c# - Visual Studio 2008 与 2005 或 C# 3.0 与 C# 2.0 的新增功能是什么?

windows - VLC 2.1.5 (win64) 不支持 TLS?

php - Apache 2.4 在 Windows 8 - 64 位上运行非常慢

c# - 创建 Excel 应用程序时出现 COM 异常 80040154

c++ - 安装 msvcr80d.dll

visual-studio-2005 - VS 安装项目 : Uninstall other component on install

c++ - 在 Win7 64 位上因未处理的第一次机会异常而崩溃(在 XP 32 位、Linux 64 位上没有问题)

.net - .NET 运行时何时保持 COM 对象的引用计数 > 1?

vba - 在 Excel VBA 中,如何在 'state loss' 上保留关键变量(不写入单元格或文件)?

visual-studio-2005 - Visual Studio : hiding ifdef blocks