不同计算机上的WPF应用程序不显示窗口

时间:2014-05-13 00:19:17

标签: c# wpf xaml

我已经为Windows 7开发了一个程序,它可以在我的计算机上运行(在发布模式下)。但是,当我将项目文件夹复制并粘贴到我的外部硬盘驱动器并在另一台计算机上试用时,它会“运行”,但没有真正显示。我会尝试发布相关代码:

class App : Application
{
    [STAThread()]
    static void Main()
    {
        new App();
    }
    /// <summary>
    /// Starts application with splash screen
    /// </summary>
    public App()
    {
        StartupUri = new System.Uri("SplashScreen.xaml", UriKind.Relative);
        Run();
    }
}

即使此屏幕永远不可见,也会显示我的MessageBox。

//constructor
    public SplashScreen()
    {
        //generated method
        InitializeComponent();
        System.Windows.MessageBox.Show("WHY ME??");
         mw = new MainWindow();
         mw.Show();
    }

在启动画面之后,主窗口应该打开,但它不会和这个MessageBox永远不会出现。

 public MainWindow()
    {
        //Windows generated
        InitializeComponent();
        System.Windows.MessageBox.Show("WHY ME??");
    }

正如我所提到的,程序在发布和调试模式下都应该运行,但是当我将它带到另一台计算机时,它只显示“为什么我?”一次而不是两次它应该。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

原来我的代码有很多问题。我遇到的最大问题之一是它运行的计算机的硬编码文件路径。但是,真正帮助我解决所有与计算机迁移相关的问题的方法是在每个类中添加以下代码:

在构造函数中:

 AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

创建处理功能:

   void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        System.Windows.MessageBox.Show(e.ExceptionObject.ToString());
    }

它很慢而且很有趣,但它在帮助找到问题根源方面做得非常好。所以我的程序有很多问题,但添加上面的代码有助于解决很多问题。

相关问题