项目实例:车辆信息统计报表管理系统--本地化的问题
简体中文操作系统下开发的.net项目 怎么不能在繁体操作系统运行呢?我放到台湾的繁体版的操作系统,程序根本就不运行,不知道什么原因。
如需叫用 Just-In-Time (JIT) 偵錯的詳細資料,
請參閱本訊息結尾處 (而非這個對話方塊) 的資訊。
************** 例外狀況文字 **************
System.Exception: 請重試沒有任何應用程式與此操作的指定檔案有關聯。
於 BLL.Document.Print2Pdf() 於 D:\WPFGis\Agent_EN\BLL\Document\Document.cs: 行 267
於 BLL.Document.btnExportPdf_Click(Object sender, EventArgs e) 於 D:\WPFGis\Agent_EN\BLL\Document\Document.cs: 行 887
於 System.Windows.Forms.Control.OnClick(EventArgs e)
於 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
於 System.Windows.Forms.Control.WndProc(Message& m)
於 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
於 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
於 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
----------------------------------------
************** JIT 偵錯 **************
若要啟用 Just-In-Time (JIT) 偵錯功能,則必須在
此應用程式或電腦的 .config 檔案中,設定
system.windows.forms 區段內的 jitDebugging值。
且該應用程式也必須在啟用偵錯的狀態下進行
編譯。
例如:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
當 JIT偵錯功能啟用後,會將所有未處理的例外
狀況傳送給電腦上已註冊的 JIT偵錯工具進行處
理,而不是使用這個對話方塊來處理。
郁闷,昨天客户把系统拿到繁体版操作系统上运行出了这样的错误,最好才发现客户没有安装PDF软件!导致这个问题,非常郁闷。程序中System.Diagnostics.Process.Start(String FileName);直接弹出PDF ,由于客户端没有装能打开PDF软件的,才出来这个问题。
还有最近汉化的时候,也是因为语言环境的问题,出现很多未知的问题,现在我以一个汉化者的身份,这几个月的汉化经历,想提醒各位项目经理和需求人员,我们要在需求文档里面系统运行环境前面一定要加个“简体中文XXX系统”(我们开发的环境是简体中文),特别是商业项目以及那些外包项目(CS系统尤其注意),客户有可能把系统拿到香港、台湾等地运行,由于语言环境的问题(特别是繁体种类多,字体样式和大小不一样),会出现乱七八糟的问题,导致系统崩溃,
我们不是MS本地化工作者(不要简单的认为本地化就是“汉化”,没那么简单,微软仅仅本地化工作者就2300人),虽然目前网上有关于编译环境强制转换的工具,但是其复杂度会超乎你的想象的。所以我们一定要从源头限制这些问题,就算要做,也要根据我们的工作量给予相应报酬。
VS2008的WPF有强制转换这个功能:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("En-us");
Thread.CurrentThread.CurrentCulture = new CultureInfo("En-us");//en-us 改成zh-tw就是繁体
CS版开发环境:.net2008
CS版运行环境:.net框架3.5、WIN2000、WINXP、WIN2003、VISTA(简体中文)
BS版开发环境:.net2008
BS版运行环境:WIN2000、WINXP、WIN2003、VISTA、目前主流浏览器(简体中文)