2013-03-18 30 views
6

私は、ドメイン定義と比較するために私たちのライブラリの1つを反映するビルドアクティビティを持っています。私はウリを反映しようとするたびに、私は私が述べた例外を取得した反射プロパティのいずれかをチェックするたびに反射中には、ビルド活性がSystem.dllのでコンパイルされている...System.dllの古いバージョンを反映する

"Could not load file or assembly 'System, Version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes" 

をRunTimePropertyInfo代わりのウリとして返し、バージョン4.0.0.0。私はこれが問題だと思う。古いバージョンのSystem.dllに型を反映させる方法がありますか?

これまでのところ、これはUriでのみ失敗しました。何か案は?

+0

ビルドアクションを同じsystem.dllに再コミットしようとしましたが、影響はありませんでした。 私が反映しているライブラリであるSystem.dllのバージョンが、.net 4の移植可能なライブラリのものであることに注意してください。 – Robert

+1

うまくいかないフレームワークターゲットが混在しています。 2.0.5.0はSilverlightのバージョン番号です。 –

答えて

0

私はそこにこのようなエラーが起こる可能性がプロジェクトで使用されているdllの別バージョンを使用している場合、バージョン管理の問題があると思います。

ここで私は過去に私のために働いた簡単な解決策ですが、同じ問題がある場合はあなたのために働くでしょう。 web.configで "bindingRedirect"タグを使用すると、問題のあるdllの古いバージョンと新しいバージョンを定義できます。これは、古いバージョンのdll参照を無視し、見つかった場合は新しいものを使用し、エラーを生成しないことを意味します。

ここに参照リンクがあります。望んだとしてあなたはコアライブラリの古いバージョンをロードすることはできませんので、あなたがIKVM.Reflectionのようなものを使用する必要がhttp://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.71%29.aspx

+0

ありがとう、私はあなたの提案を試みたが、それは役に立たなかった。私はそれが新しいDLLを反映しない場合、古いdllを拾うことが必要なのだと思います。 – Robert

+0

web.configで書いたコードをここにコピーできますか?問題がバージョンのみに関連する場合は、それは動作する必要があります –

+0

バージョンに関連付けられているだけでなく、これは1つのデータ型 'Uri'でのみ発生します。私はこれのためにログにアイテムを置いて、それが発生したらそれをスキップします。それは私たちのニーズを満たすでしょう。とにかく助けてくれてありがとう。 – Robert

関連する問題