从虚拟机调试主机上的网站

时间:2010-05-04 23:17:56

标签: asp.net debugging visual-studio-2010 vmware

我有一台托管Windows 7虚拟机的Windows 7计算机。我正在我的主机上使用visual studio 2010开发一个Web应用程序。我想以调试模式运行应用程序,并从虚拟机上的浏览器访问我的localhost服务器。 (这样做的目的是能够使用不同的用户调试使用Windows身份验证的应用程序,而无需为我的主机上的不同用户注销和启用...)

我正在为虚拟机使用桥接连接。我用Google搜索了如何解决这个问题,我发现的大多数线程说如果我使用的是桥接连接,我只需在浏览器的url中输入主机的IP地址即可访问主机上的服务器的虚拟机。我尝试过使用IP的一些不同的网址,但没有一个有效。

例如,假设我在我的主机上的visual studio中运行我的Web应用程序,其URL是

http://localhost:62789/MyPage.aspx

假设我在主机上的CommandPrompt中运行了ipconfig,发现我的主机的IP地址是xxx.xxx.xxx.x.我应该在虚拟机上输入什么URL来访问我的Web应用程序?

提前致谢。

编辑:

我设置IIS来托管Web项目。之后,我刚刚将以下行(xxx.xxx.xxx.xxx是我的IP)添加到我的hosts文件中,并且我能够从虚拟机访问该网站:

xxx.xxx.xxx.xxx MyWebsite.net

我还必须编辑防火墙设置。

2 个答案:

答案 0 :(得分:2)

我个人发现使用Microsoft Loopback Adapter设置虚拟机最简单,并将虚拟机分配给该适配器。客户操作系统将通过DHCP分配自己的IP。使用Loopback Adapter基本上将您的主机和来宾操作系统放在同一个网络上。访客只能访问主机,并且无法访问互联网。

然后,您可以使用您在主机上看到的任何IP地址从访客访问主机(在主机上运行ipconfig/all)。

编辑:仅供参考我正在使用Virtual PC,因此您的milage可能会有所不同。 Loopback Adapter可以从Microsoft免费下载。

Edit2:您可能需要在主机上打开端口以允许访问Web服务器。来宾操作系统的请求仍将通过Windows防火墙

答案 1 :(得分:2)

您似乎可能正在使用VisStudio的集成Web服务器。我不确定这可以接受来自localhost以外的任何主机的请求。

Remote machines cannot connect to Visual Studio web server

简单的解决方案?使用IIS来托管项目。安装IIS后(如果尚未安装),可以轻松更改项目设置,以便创建虚拟目录并在IIS中进行调试。