如何从不同的目录运行WPF应用程序?

时间:2012-06-13 13:54:56

标签: c# wpf

我使用WPF创建了一个基本工具。如果我从它所在的目录中运行该工具,一切正常。但是,如果我从不同的目录运行,没有任何反应。从命令行,它只返回到提示符。我没有WinForms应用程序的这个问题,该目录确实包含该工具所依赖的一个DLL。还有什么可以继续?

编辑:我想我发现了这个问题。它在MainWindow.xaml.cs构造函数中的InitializeComponent调用中死亡。被绑定的属性试图访问null的对象。但是,我还没有弄清楚为什么只有当我从另一个目录运行时该属性为null。考虑一下这个问题就解决了。

1 个答案:

答案 0 :(得分:3)

re:为什么属性为null

我怀疑InitializeComponent正在尝试加载一些资源,并在WorkingDirectory中查找资源文件。

试试这个:

var realWD = Environment.CurrentDirectory;
Environment.CurrentDirectory =
        System.IO.Path.GetDirectory(
            System.Reflection.Assembly.GetEntryAssembly().Location);
InitializeComponent();
Environment.CurrentDirectory = realWD;

修改:重新格式化,以避免水平滚动。

-Jesse

相关问题