先月くらいから、私の開発環境で『見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外: 0x80131040)』のエラーが発生しました。
ちなみに私のエラーは、PC環境を変えたため、必要なDLLが見つからないというエラーではありません。
エラーの背景に社外・社内を問わずプログラム修正を行いたいため、開発に使用しているPCが数台あります。
ちゃんと費用を掛けてネットワーク構築及びVSSやTFSを立てたりすれば発生しないエラーかもしれないのですが、一人開発なので勿体無くて費用をかけていません。そのかわり利便性を向上させるために、どこからでもアクセスできるようインターネット上にディスクスペースを借りてそこにソースを置いています。
一人なので排他制御しなくていいし。
で、今まではWindows7+VS2010で主に開発をしていました。
最近は、Windows8+VS2012/VS2010の環境が入ってきて混在している状況です。
今までは上の問題が出て記憶が無いのですが、最近、社内はWindows8(64bit)、社外はWindows7(64bit/32bit)の混在でプログラムを修正するようなケースが発生したためか、3回程度発生しています。
64bit/32bitの混在が不味いのか。。。。Windows8+VS2010/windows7+VS2010の環境がいけないのか。。。
その両方なのか。。。
たまにしか発生していないのですが、64bit開発マシンで修正後32bit開発マシンで修正する際に発生しているので(頻発するわけだなくたまになので曖昧です。。。)、64bit/32bitの混在が不味い気がするのですが。。。
で、原因がはっきりわからない(きちんと調べても居ません)ので対処が正解かわからないのですが、いつも手っ取り早く修正したい時に発生するので、自分用にとりあえずの対処法を備忘録としてメモっておきます。
(対応)プロジェクトフォルダ内のbinフォルダに上のメッセージで読み込めないと名指しされているxxxxx.dllが存在しているので、そのdllファイルを削除してしまいます。
上の作業で、エラーが消えます。私のエラーの場合です。
一般的な、DLLが見つからない、読めない等々のエラーの場合は、本当に無いか、バージョン違いや64bit-dllを32bit環境で読もうとしてエラーが出ているなどなどなので、上の対応はもちろん該当しません。
以上、エラー対応備忘録でした。