3

我的任务很简单:我需要在我的开发机器上的 64 位环境中测试我的 ASP.NET Web 应用程序。(此时我什至不询问通过调试器运行它。我所需要的只是在 64 位进程中运行它。)

所以我在 Visual Studio 2010 中创建了一个普通的 C# Web 应用程序并调整了它的属性,如下所示:

在此处输入图像描述

然后我做了 Ctrl+F5 (或不调试就运行),IE 加载并挂断,如下所示:

在此处输入图像描述

我在这里做错了什么?

PS。在 Windows 7 Ultimate(64 位)上运行它。

4

4 回答 4

15

我们遇到了同样的问题,当团队跳转到 Visual Studio 2012 时,这个注册表项对我们非常有用:

您可以添加一个注册表项来强制 Visual Studio 使用 iisexpress.exe 的 64 位版本;不幸的是,它是一个仅适用于 VS2012 的解决方案。

reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects
    /v Use64BitIISExpress /t REG_DWORD /d 1

然后重新启动 Visual Studio 并勾选 [X] Use IIS Express in your settings。

(另见来源)。

更新:作为参考,在Visual 2013中,可以在界面中找到此选项:选项/项目和解决方案/Web 项目/使用 64 位版本的 IIS Express 用于网站和项目

于 2013-09-11T14:38:47.310 回答
1

在 IIS 中确保应用程序池、高级设置、启用 32 位应用程序 = false

如果此设置为 true,则工作进程将作为 32 位 WOW64 进程运行。

克里斯

于 2013-03-24T09:23:32.317 回答
0

项目或解决方案级别无需设置。我正在 VS2010 上同时在 32 位和 64 位机器上开发 WebApp。实际上我们正在开发 SVN,我们的几台机器有 Win7 32 位,我的几个伙伴有 Win7-64 位笔记本电脑。但是在两台不同的机器上编译应用程序时,我们没有遇到任何此类问题,即使在实时服务器上,它也能顺利运行。几乎不关心位和字节。

验证测试运行。在本地 IIS 或 Cassini 网络服务器中发布您的代码和主机,并通过 LAN 访问它。

此外,如果可能,将解决方案和项目设置恢复为其原始配置设置。通常,除非严格要求,否则我们不需要更改目标。作为,AFAIK,它在“任何 CPU”下编译程序集作为目标,它适用于所有,即 IA、X64 和 X86 ..

最后,如果您遇到任何错误,请在此处发布。它也会帮助您和我们。

于 2013-03-24T09:46:11.753 回答
0

首先,您如何知道您的 IIS 进程目前是以 32 位还是 64 位运行您的网站?打开任务管理器检查 w3wp.exe 的位数。如果你的机器是 64 位的,那么 IIS 默认运行 64 位。你的问题似乎是别的。如果位是问题,那么你甚至不会走到这一步。检查 IIS 日志 (c:\inetpub\logs{website-ID}{date})... 这可能会给您一些指示。如果那里什么都没有,请检查事件查看器。如果没有,则检查虚拟目录是否实际上是在默认网站下的 IIS 管理器中创建的。

您是否实际测试过 IIS(无 ASPX)是否正常工作?http:// 本地主机?那样有用吗?如果这有效,那么我建议检查您的 ASP.NET 模块是否正确安装在 IIS 中。

希望这可以帮助。

于 2013-03-24T14:59:33.050 回答