繁体   English   中英

如何从网络共享调试Visual Studio 2010中的解决方案?

[英]How can I debug solutions in Visual Studio 2010 from a network share?

我最近买了一台新的Mac笔记本电脑,并在Parallels虚拟机中运行VS2010。 它对我来说效果很好,但是我在调​​试特定项目类型时遇到了一些问题,这些问题与通过网络共享访问项目有关。 测试项目无法运行,因为测试运行器无法加载测试的DLL。 Web项目无法在Visual Studio迷你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更合适。

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

这假设问题实际上是Windows“以点开头的主机名来源于互联网区”。 它可能是别的东西,但下面的选项(3)应该是(不)证明这是问题的一部分的快速方法。


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

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

我想知道你的问题是否合适

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM