1

我已经使用 WPF 创建了一个基本工具。如果我从它所在的目录中运行该工具,则一切正常。但是,如果我从不同的目录运行,什么都不会发生。从命令行,它只是返回到提示符。我在 WinForms 应用程序中没有遇到过这个问题,并且该目录确实包含该工具所依赖的一个 dll。还有什么可能发生的?

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

4

1 回答 1

3

回复:为什么该属性为空

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

试试这个:

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

编辑:刚刚重新格式化以避免水平滚动。

-杰西

于 2012-06-13T15:09:57.187 回答