C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■87080 / )  Re[1]: COM+に登録したアセンブリについて
□投稿者/ Atata!! (1回)-(2018/04/11(Wed) 01:37:28)
> そこで質問なのですが、COM+に登録するアセンブリは、プラットフォームを32ビットにしなければいけないのでしょうか?

そんなことはありませんが、クライアントのビット数に合わせる必要があります。


> 仮にそうである場合、なぜそうなるのか教えて頂けないでしょうか?

以下のページと同じ手法で作成していると仮定しています。
https://msdn.microsoft.com/ja-jp/library/ms973809.aspx
違う場合は指摘してください。

まず、32 ビットで作成した場合、32 ビットのレジストリが構成されます。
この後、64 ビットにビット数を変更しても 32 ビットのレジストリが残っているため、
64 ビットでは再登録されず、32 ビットイメージを読み込もうとして BadImageFormatException になります。

64 ビットで登録するにはいったん 32 ビットをアンインストールした後、
再度 64 ビットで登録するようにしてみてください。それで問題なく動作するはずです。

なお、VS2015 では 32 ビット優先が有効になっているため AnyCPU では 32 ビットでインストールされるかと思います。

返信 編集キー/


管理者用

- Child Tree -