7

我最近有一台新的 Mac 笔记本电脑,并在 Parallels 虚拟机中运行 VS2010。它对我来说效果很好,但我在调试特定项目类型时遇到了一些问题,这与通过网络共享访问项目的事实有关。测试项目无法运行,因为测试运行程序无法加载测试的 DLL。Web 项目无法在 Visual Studio mini Web 服务器中运行,引发以下异常:

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

我花了一个晚上在网上拖网,但运气不佳。在阅读了 两篇文章后,我尝试了通常的 CasPol 更改,但后来发现这篇文章来自早期的 VS2010 测试版之一,表明 .NET 4.0 和 VS2010 不再需要/支持 CasPol。

网络共享可通过映射驱动器和 UNC 路径访问。UNC 路径的主机是.pfs; 根据这篇文章, Windows 将以点开头的主机名视为源自 Internet 区域。

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

有没有人成功地从 VS2010 中的网络共享加载和调试 Web 和测试项目?

更新: 我尝试使用我的 MacBook 的 IP 地址在单独的本机 Windows 机器上加载 VS2010 中的解决方案,结果好坏参半。测试项目再次运行失败,出现以下错误:

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;我认为这可能是比 SuperUser 更合适的论坛。

4

2 回答 2

4

尝试<loadFromRemoteSources enabled="true"/>在 devenv.exe.config 的运行时元素下进行设置,如该问题的答案中所建议的那样。它为我解决了这个问题......从共享加载项目时,Visual Studio 仍然会警告我,但现在运行测试可以正常工作。

于 2010-07-15T23:46:11.773 回答
0

这假设问题实际上是 Windows“将 [ing] 以点开头的主机名视为源自 Internet 区域”。它可能是别的东西,但下面的选项(3)应该是(反)证明这是问题的一部分的快速方法。


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

UNC 路径和 Windows 网络 (NetBIOS) 名称可能会遇到类似问题。根据RFC3696,句点是合法的,但您需要根据 RFC1035 对主机名中使用的句进行转义。如果我正确阅读 RFC1035,您的主机名应该\.pfs.pfs.

我想知道你的问题是否可以正常工作,如果你

  1. 将主机名(在共享服务器上)更改为包括点的名称(并相应地更新客户端),
  2. 更改共享的 UNC 路径(在客户端上)以使用正确的转义序列作为句点,或者
  3. 更改共享的 UNC 路径(在客户端上)以使用 IP 地址而不是主机名。
于 2010-06-10T19:16:22.573 回答