原先开发一直使用物理机,程序越来越多,不同版本,很杂乱,于是前几天重装了系统,并将开发工具分门别类安装在不同虚拟机中,原来一直将源码放在D盘,我计划仍然只维护这一份源码,于是向每个虚拟机都直接共享了D盘,虚拟机磁盘映射也设置成D。
结果在调试MVC3的时候,编译没问题,运行时浏览器上显示以下错误:
搜索了一下,发现很多人也碰到过这个问题,各种说法。比如给TEMP目录加上everyone的访问权限等等,试了,仍然出错。因我本机即是windows server 2008,因此我直接设定发布到本地IIS服务:
然后运行【选择:开始执行(不调试)或按Ctrl+F5】:
发现“配置文件”的目录和“物理路径”不一样,前边加了“\\”,变成直接访问网络而非本机目录,将源码复制到虚拟机自身硬盘中,调试运行,没有出现该问题。
不知道IIS是从何获取这个web.config配置文件路径的,为何与物理路径不完全相同,暂时不得而知。