2009-05-29 14 views
2

この質問をMSDNフォーラムに投稿しましたが、多くの回答を受け取ることができませんでしたので、ここで試してみることにしました。依存関係の依存関係が出力ディレクトリにコピーされていません

最初のライブラリが主にxamlの場合、プロジェクトの依存関係ライブラリを参照する別のプロジェクトの出力ディレクトリにコピーされないという問題があります。これは

SolutionX
       が発生したとき、ここで典型的なシナリオは、 - SomeControls.Dll {ユーザーコントロールWPF含ま}
                 外部基準:WPFTheme.dll *
        - MainApp.Exe
               プロジェクト参照:SomeControls.dll

ここに何が起こるのかよく

は、ソリューションを構築するとき、WPFTheme.dllがMainApp.Exeプロジェクトの出力ディレクトリにコピーされていないということです。 (*これは外部の代わりに3番目のプロジェクトを参照する場合にも有効です)

私は通常この状況を処理するポストビルドイベントを使用します...しかし、問題が断続的であることがわかりました。

私のC#コードでWPFTheme.dllのクラスのいずれも参照していないが、xamlでこれを行うと、WPFTheme.dllライブラリはコピーされない。

しかし、もし私がプロジェクト(バックエンドxaml.csクラスでさえ)のいくつかのC#から任意のクラス(nullを割り当てるだけでさえ)を参照すれば、すべてが期待どおりに動作します。

他にこの問題が発生しましたか? xamlが参照する場合、ライブラリを強制的にコピーする方法はありますか?

これ以上の情報を追加するには、プロジェクトファイルの外部にHintPathの相対パスで表示されるライブラリを使用します。

おかげでみんな、

K

+0

私はリンクを投稿できませんでした元のMSDNスレッドに追加します。問題を再現する方法のステップバイステップの例を投稿しました。 Visual Studio - > Visual Studio WPFデザイナーフォーラム – CtzKane

答えて

0

私は反射による依存性注入とこれと同じ問題を持って、私はポストビルドイベントでそれを回避し、NAntのスクリプトを展開するとき、私はより多くの助けとなるcouldntの申し訳ありませんが、見て先に解決策を見て、あなたはいつでもスタートアッププロジェクトに直接参照を追加することができますが、その長期的ないくつかの楽しい問題に入ることができますが動作します

+0

の「プロジェクトの外部参照と依存関係」というタイトルが付いています。スタートアッププロジェクトへの直接参照で問題を処理することで、楽しいことになるでしょう! 。ポストビルドは機能し、この問題を解決する以外にもすでに他のことを行っています。しかし、それでも私が困っているのは、あなたがコードでそれを参照すれば、それはすべて動作するということです。 – CtzKane

関連する問題