Parallels虚拟机导致c#中无法使用的UNC路径

时间:2016-05-16 17:28:49

标签: c# parallels

我在运行在OSX上的Parallels下的Win10 VM中运行我的C#dev环境。它运作良好。然而...

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

  • 如果我将浏览器控件的Url属性设置为file:///./web/mapping.html,那么我会得到一个"找不到文件"错误。是的,我已检查过该文件是否在项目bin\Debug\web文件夹中。
  • 如果我尝试在代码中使用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#

但似乎想要一台它无法找到的远程服务器(在这种情况下为#34; mac"),所以我也无法做到这一点。

所以我应该放弃,强迫它成为一个直接的路径,只有在我进入最终构建时才担心它,因为它将安装在Windows机器上,或者我能做些什么?

我不愿浪费太多时间来解决可能只会影响我的开发环境的事情,但这确实意味着我正在构建和测试我必须改变的东西,并希望它在最终构建之前有效

1 个答案:

答案 0 :(得分:0)

哈!几乎在我写完文章后,我偶然发现了错误的答案。

如果您在设计时将Url设置为某个内容 - 您知道的内容会一直存在,例如www.google.com,那么Navigate()功能可以在整个VM上与UNC完美配合

奇妙!但解决了:))