Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么NSBundle.MainBundle.GetUrlForResource返回null_C#_Xamarin_Xamarin.ios_Uiwebview - Fatal编程技术网

C# 为什么NSBundle.MainBundle.GetUrlForResource返回null

C# 为什么NSBundle.MainBundle.GetUrlForResource返回null,c#,xamarin,xamarin.ios,uiwebview,C#,Xamarin,Xamarin.ios,Uiwebview,我正在使用UIWebView查看本地HTML文件。我的文件名为NoWiFi.html,路径为Resources/NoWiFi.html。我还将构建操作设置为BundleResource,并尝试: string name = "Resources/NoWiFI.html" NSURl url; url = new NSUrl(Path.Combine(NSBundle.MainBundle.BundlePath, name), false); // and url = NSBundle.Main

我正在使用UIWebView查看本地HTML文件。我的文件名为NoWiFi.html,路径为Resources/NoWiFi.html。我还将构建操作设置为BundleResource,并尝试:

string name = "Resources/NoWiFI.html"
NSURl url;

url = new NSUrl(Path.Combine(NSBundle.MainBundle.BundlePath, name), false);
// and
url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html"); // returns null 

webView.LoadRequest(new NSUrlRequest(url));
如在 但是我得到一个错误:在这个服务器上找不到请求的URL


为什么我的代码找不到该文件?

因为您加载了本地html文件。所以您应该使用

webView.LoadRequest(new NSUrlRequest(url),false);

isDir:一个布尔值,指定在根据相对路径组件进行解析时,路径是否被视为目录路径。如果路径指示目录,则传递True,否则传递False。

由于某种原因,我的问题在重命名文件后自行解决,如果其他人正在加载本地HTML文件,则我的代码如下所示:

NSUrl url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html");
webView.LoadRequest(new NSUrlRequest(url));

如果在使用调试器检查url对象时url对象为null,请确保本地文件(在我的示例中为NoWiFi.html)的生成操作设置为:BundleResource,并且如果NSUrl对象仍然为null,尝试重命名该文件

我的LoadRequest似乎没有需要2个参数的重载。如果您共享一个包含该问题的示例,我可以在我这边对其进行测试。不要忘记删除您的个人信息。我相信这些都是基本文件。您的演示似乎包含您的url。您应该删除它们或将其替换为xxx。是的,我意识到它已被删除只是出于好奇,您是否在解决方案资源管理器或查找器中重命名了该文件?很可能只是将构建操作更改为BundleResource,然后进行清理和重建,从而解决了您的问题。