如何从networking共享debuggingVisual Studio 2010中的解决scheme?

我最近买了一台新的Mac笔记本电脑,并在Parallels虚拟机上运行VS2010。 对我来说,大多数工作都很好,但是在debugging特定项目types时遇到了一些问题,这些问题与项目通过networking共享访问有关。 testing项目不运行,因为testing运行器无法加载testing的DLL。 Web项目无法在Visual Studio迷你Web服务器中运行,引发以下exception:

'An error occurred loading a configuration file: Failed to start monitoring changes to path\to\web.config'.

我已经花了一个晚上,在这个networking上运气不大。 在阅读了这 两篇文章后,我尝试了通常的CasPol修改,但是从VS2010早期版本的BETA中find了这篇文章 ,指出在.NET 4.0和VS2010中不再需要/支持CasPol。

networking共享可以通过映射驱动器和UNCpath访问。 UNCpath的主机是.pfs ; 根据这篇文章, Windows把主机名称作为源自Internet区域的一个点开始。

虚拟机在pipe理员帐户下运行其应用程序,该帐户似乎具有networking共享上的所有必要权限以创build,读取,写入和删除文件和文件夹。 我说“似乎有”,因为我无法通过资源pipe理器查看适当的文件夹的安全属性:安全选项卡只是不存在。

有没有人成功地加载和debuggingnetworking和VS2010中的networking共享testing项目?

更新:我尝试使用我的MacBook的IP地址在单独的本地Windows机器上加载VS2010中的解决scheme,结果混合。 testing项目再次无法运行的错误:

Error loading \\192.168.0.4\alastair\Code\project\bin\Debug\Tests.dll: Could not load file or assembly 'file://\\192.168.0.4\alastair\Code\project\bin\Debug\Tests.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

但是,ASP.NET MVC项目在此设置中按预期正确运行,并且如果使用MacBook的NETBIOS名称,则会得到完全相同的结果。

当然,为了做到这一点,我必须在Snow Leopard中启用SMB共享,​​而不需要访问我的Parallels VM中的位置。 也许在Parallels中有一些设置需要调整以更改共享权限?

我也标记了这个问题的版主请求它被转移到StackOverflow; 我认为这可能是比超级用户更合适的论坛。

Solutions Collecting From Web of "如何从networking共享debuggingVisual Studio 2010中的解决scheme?"

尝试在devenv.exe.config的运行时元素下设置<loadFromRemoteSources enabled="true"/> ,如问题的答案所示 。 它解决了我的问题… Visual Studio仍然警告从共享加载项目时,但运行测试现在工作。

这假定问题确实出现在Windows“将主机名称视为源自Internet区域的小点”。 这可能是另一回事,但下面的选项(3)应该是(证明)这个问题的一个快速手段。


句点( . )不是DNS主机名中经常使用的字符; 它通常被解释为主机名和域名之间的分隔符(例如, localhost.localdomain )。 DNS主机名通常仅限于“LDH” – 字母,数字和连字符。

UNC路径和Windows网络(NetBIOS)名称可能会遇到类似的问题。 根据RFC3696 ,期限是合法的,但是您需要根据RFC1035转义主机名内使用的期间。 如果我正确读取RFC1035,您的主机名应该是\.pfs而不是.pfs

我想知道如果你的问题会起作用

  1. 将主机名(在共享服务器上)更改为包含点的东西(并相应地更新了客户端),
  2. 将UNC路径更改为共享(在客户端上),以使用正确的转义序列作为句点或
  3. 将UNC路径更改为共享(在客户端上)以使用IP地址而不是主机名。