Parallels虚拟机在c#中导致不可用的UNC路径
问题描述:
我在运行在OSX Parallels下的Win10 VM中运行我的C#开发环境。它运作良好。然而...Parallels虚拟机在c#中导致不可用的UNC路径
我有一个表格,并窗体上有一个WebBrowser控件。 webBrowser控件想要加载一个本地文件的HTML页面,该页面相对于可执行文件存储。但是:
- 如果我设置的浏览器控件
file:///./web/mapping.html
的Url
属性然后我得到一个“找不到文件”的错误。是的,我已检查该文件在项目文件夹中。 -
如果我尝试做的代码,并使用
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的盒子,或有什么我可以做的只是担心?
我厌倦了浪费太多时间来解决可能只会影响我的开发环境的事情,但这确实意味着我正在构建和测试一些必须更改的内容,并希望它能在最终构建之前有效。
答
哈!几乎一旦我写完了,我就偶然发现了答案。
如果您在设计时将Url
设置为某种东西 - 您知道的东西会像www.google.com一样在那里,那么Navigate()
函数可以在UNC中与VM完美协作。
奇怪!但解决:)