2016-05-16 145 views
0

我在运行在OSX Parallels下的Win10 VM中运行我的C#开发环境。它运作良好。然而...Parallels虚拟机在c#中导致不可用的UNC路径

我有一个表格,并窗体上有一个WebBrowser控件。 webBrowser控件想要加载一个本地文件的HTML页面,该页面相对于可执行文件存储。但是:

  • 如果我设置的浏览器控件file:///./web/mapping.htmlUrl属性然后我得到一个“找不到文件”的错误。是的,我已检查该文件在项目​​文件夹中。
  • 如果我尝试做的代码,并使用Application.Startup参数代替,因此:

    this.mapWindow.Navigate(new Uri(Application.StartupPath + "\\web\\mapping.html")); 
    

    (其中mapWindow是我的浏览器控件的名称),然后我得到一个UNC返回如

    file://mac/home/Documents/Visual Studio 2015/Projects/WindowsFormsApplication1/WindowsFormsApplication1/bin/Debug/web/mapping.html 
    

    和浏览器是空白的。

的Parallels给我一个方便快捷//mac/home映射到Z:\驱动器,如果我使用(如明确的路径),那么它工作正常。所以我的问题是将UNC作为本地路径。我试过

Convert UNC path to local path in C#

,但似乎是想建立一个远程服务器(在这种情况下,“陆委会”),它无法找到,所以我不能使这项工作无论是。

所以我应该放弃,强制它是一个直接的路径,只有当我来到最终的构建,因为它将被安装在Windows的盒子,或有什么我可以做的只是担心?

我厌倦了浪费太多时间来解决可能只会影响我的开发环境的事情,但这确实意味着我正在构建和测试一些必须更改的内容,并希望它能在最终构建之前有效。

回答

0

哈!几乎一旦我写完了,我就偶然发现了答案。

如果您在设计时将Url设置为某种东西 - 您知道的东西会像www.google.com一样在那里,那么Navigate()函数可以在UNC中与VM完美协作。

奇怪!但解决:)