1

WPF を使用して基本的なツールを作成しました。ツールが配置されているディレクトリ内からツールを実行すると、すべて正常に動作します。しかし、別のディレクトリから実行しても何も起こりません。コマンドラインからは、プロンプトに戻るだけです。WinForms アプリケーションでこの問題は発生していません。ディレクトリには、ツールが依存する 1 つの dll が含まれています。他に何が起こっているのでしょうか?

編集:私はこの問題を理解したと思います。MainWindow.xaml.cs コンストラクター内の InitializeComponent 呼び出しで停止していました。バインド先のプロパティが、null のオブジェクトにアクセスしようとしました。ただし、別のディレクトリから実行した場合にのみプロパティが null になる理由はまだわかりません。この問題は解決したと考えてください。

4

1 に答える 1

3

re: プロパティが null の理由

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 に答える