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
Xamarin在错误的地方寻找资源_Xamarin_Xamarin.android - Fatal编程技术网

Xamarin在错误的地方寻找资源

Xamarin在错误的地方寻找资源,xamarin,xamarin.android,Xamarin,Xamarin.android,环境:Visual Studio 2015、Xamarin 4.7.9.45、Xamarin Android 7.4.5.1 直到昨天,我的开发环境还可以正常工作,现在我无法正常调试。加载字符串资源时,AppResources.designer.cs中的以下代码引发“未找到文件”异常: public static string Button_Username { get { return ResourceManager.GetString("Button_Username",

环境:Visual Studio 2015、Xamarin 4.7.9.45、Xamarin Android 7.4.5.1

直到昨天,我的开发环境还可以正常工作,现在我无法正常调试。加载字符串资源时,AppResources.designer.cs中的以下代码引发“未找到文件”异常:

 public static string Button_Username {
   get {
      return ResourceManager.GetString("Button_Username", resourceCulture);
   }
 }
资源文化对我们是有益的。字符串资源按钮\u用户名确实已定义。否则,上述代码行甚至不会出现在自动生成的AppResources.designer.cs文件中

在调试器中检查异常后,Xamarin似乎正在尝试加载以下文件:

/storage/emulated/0/Android/data/myapp.mycomp.com/
    files/.__override__/en-US/MyProject.resources.dll
我们为许多其他语言生成MyProject.resources.dll,但不是为我们生成,因为它是默认语言。为什么Xamarin要加载这个dll?它不应该查看resources.arsc文件吗?问候

我们为许多其他语言生成MyProject.resources.dll,但不是为我们生成,因为它是默认语言。为什么Xamarin要加载这个dll?它不应该查看resources.arsc文件吗

resources.arsc适用于Android本地本地化。但您目前正在开发一个Xamarin.Forms应用程序,并使用其本地化功能,相关的.resw文件将被编译到MyProject.resources.dll中,并且您的项目将en-US设置为默认区域性

如果您已创建AppResources.en-US.resw文件,且当前区域性为en-US。您的应用程序将尝试查找此文件,该文件包含在…/en US/MyProject.resources.dll中


如果您没有创建AppResources.en-US.resw,您的应用程序将在AppResources.resw文件中搜索字符串。

感谢您的帮助。在VS2015上运行修复后,问题似乎消失了。然而,尽管我们的是一个Xamarin表单应用程序,但我们没有任何en-US/Myproject.resources.dll,而且一切都正常工作。让我觉得resources.arsc正在被使用。当做