尝试从VMware Fusion进行ASP.NET MVC开发

4
问题在于我的源代码托管在主机上(本例中是Mac Book Pro),而Visual Studio希望能够监视web.config文件的更改,因此它会抛出以下错误:
加载配置文件时发生错误:无法启动对\path\to\web.config的更改监视。
我尝试添加HKLM\Software\Asp.Net\FCNMode=1,但似乎没有起作用。另外,由于版本控制问题,将源代码移动到VHD中并不是可行的选择。
操作系统:Windows 7 64位 开发工具:Visual Studio 2008 虚拟机软件:VMWare Fusion 3.01
谢谢。

我假设这是一个调试问题,你正在尝试使用内置于vs2008的开发服务器进行调试...你能确认一下吗? - Simon Fox
4个回答

9

您的想法是正确的,但需要编辑Windows 7的正确密钥。

  • 打开RegEdit
  • 导航到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET
  • 添加一个名为FCNMode的REG_DWORD注册表项,并将其值设置为1

重新启动计算机,您就可以使用了。 "Wow6432Node"允许您为Windows 7 64位Visual Studio设置此选项。


我在VirtualBox上为32位Windows 7客户机做了这个,但是出现了“'/'应用程序中的服务器错误。无法获取所需权限。”有什么想法吗? - webXL
好的,那个错误是关于memcache dll的。解决方案是按照这些说明操作:https://julianscorner.com/wiki/programming/caspol_network_share。不过还要给你点赞,感谢你的回答。 - webXL
+1。在Parallels、Win 7/64和Visual Studio 2010上对我有效。顺便说一句,REG_QWORD(64位值)不起作用——它似乎很“合理”,但我们谈论的是Windoze。 - radarbob
谢谢!我已经苦苦挣扎了很长时间,直到看到了你的回答! - Sean
只是想提一下,这对我也起作用了,谢谢!我正在运行Virtualbox,Windows7作为客户机(和主机)。当尝试在vboxsvr网络共享上编译源代码时,aspnet_compiler.exe报告了一个错误“无法开始监视更改”。 - Paul Bormans

1

看起来现在你可以在web.config中更改FCNMode。他们可能在.NET 4.5中添加了它,但是我找不到任何文档this,但它似乎有效。

<system.web>        
    <httpRuntime fcnMode="Disabled"/>

0

虽然我不是文件系统/虚拟化专家,但我猜测dev服务器进程正在运行的帐户没有访问配置文件(web.config)的权限。你的VM内的帐户也无法被OS X识别,所以你无法更改权限来使其按照这种方式工作。

我的建议是添加IIS组件(通过控制面板->程序->打开或关闭Windows组件),如果你还没有添加的话。然后在IIS中添加一个应用程序,并将虚拟目录添加到VM的VHD中。现在,为了进行调试,首先将你的应用程序发布到新创建的IIS应用程序中(类似http://localhost/MyNewIISApplication),然后将VS调试器附加到IIS工作进程w3wp.exe(即Debug->附加到进程...)。


-2

如果代码仓库在其他地方,我认为在虚拟机上保存工作副本是没有问题的。


首先,它是Git,而且与Mac相比,Windows上的Git实现非常慢。当需要时,我也喜欢使用一些项目文件中的工具,例如TextMate进行快速编辑。 - Gabe Anzelini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接