我在运行在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机器上,或者我能做些什么?
我不愿浪费太多时间来解决可能只会影响我的开发环境的事情,但这确实意味着我正在构建和测试我必须改变的东西,并希望它在最终构建之前有效
答案 0 :(得分:0)
哈!几乎在我写完文章后,我偶然发现了错误的答案。
如果您在设计时将Url
设置为某个内容 - 您知道的内容会一直存在,例如www.google.com,那么Navigate()
功能可以在整个VM上与UNC完美配合
奇妙!但解决了:))