调试编译的.net应用程序

时间:2010-12-12 08:12:46

标签: c# debugging localization

1-我设计的应用程序有两个接口(英语,阿拉伯语),用户可以在运行时选择UI语言,并在应用程序重新启动后看到更改。我将选定的语言存储在app.config中。

表单构造函数中的

2-我通过以下代码将CurrentUICulture更改为选定的lang:

Public.ArabicView = UmAlQuraCalender.Properties.Settings.Default.ArabicView;

if (Public.ArabicView == true)
   System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-SA");
else
   System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

3-我的开发机器中的应用程序工作没有问题。

4当我在另一台机器上测试应用程序时,只有一个用户界面工作(英语),如果我检查另一种语言并重新启动应用程序,虽然安装了阿拉伯语本地,但接口仍保持英语状态。

我使用两个单选按钮:一个用于阿拉伯语,另一个用于英语,在click事件中我将CurrentUICulture更改为此代码中的所选语言:

private void rbArabic_Click(object sender, EventArgs e)
{
    Public.ArabicView = rbArabic.Checked;

    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-SA");

    UmAlQuraCalender.Properties.Settings.Default.ArabicView = Public.ArabicView;
    UmAlQuraCalender.Properties.Settings.Default.Save();

    MessageBox.Show("UI Language will be changed after application resart");

}

private void rbEnglish_Click(object sender, EventArgs e)
{
    Public.ArabicView = rbArabic.Checked;
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
    UmAlQuraCalender.Properties.Settings.Default.ArabicView = Public.ArabicView;
    UmAlQuraCalender.Properties.Settings.Default.Save();

    MessageBox.Show("UI Language will be changed after application resart");
}

5-我如何在测试机器中调试(跟踪源代码)以找出问题?

如果有人能帮助我,我将感激不尽。

2 个答案:

答案 0 :(得分:0)

为什么不能在测试机器上使用VS进行调试?如果测试机器没有安装VS,请使用Remote Debugger tools

另一种方法是使用Reflector。当您没有源代码访问权限时,Reflector Pro将允许您单步执行代码。

答案 1 :(得分:0)

感谢我的朋友的帮助

我在测试机中安装了VS,发现我忘了在调试目录中包含VS Created的本地化DLL。

当我包含这个具有阿拉伯语本地化DLL的目录时,问题就解决了。

感谢每一个回复我的问题