未处理System.IO.IOException
Message: “System.IO.IOException”类型的未经处理的异常在 PresentationFramework.dll 中发生
其他信息: 找不到资源“mainwindow.xaml”。
在做WPF 开发时,有一次发现如上问题,对比很久之后,发现是本地话引起的,解决方法如下:
解决方法1:直接用记事本打开项目文件.csproj(Visual C# Project file )
在编译时使用的是en-US选项进行编译并生成了en-US为名的文件夹,里面包含了可本地化的内容;但是你的本地系统使用的是zh-CN,在你运行 exe的时候,运行时会检查本地culture,发现是zh-CN,于是就去找zh-CN文件夹,但是并没有生成该culture下的资源,所以出错。
将编译选项由<UICulture>en-US</UICulture>改为<UICulture>zh-CN</UICulture>即可。
解决方法2:若你的. csproj 文件中设置的是<UICulture>en-US</UICulture>,而编译环境是zh-CN,则可以在App中改变当前编译环境如下
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
public App()
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
}
}
关于本地化,可参考如下网址:
(转载)