k.buchi様、返信ありがとうございます。
>自作のモジュールをどう利用するかで変わりますが、IIS配下ではないのでSide-by-Sideで普通に利用できそうな気はします。
→自作のモジュールは、VBで作っている部品群で、WebRole側の処理から.NET Remotingで各DLLの処理を呼出しています。
紹介して頂いたサイトの見るに、「アプリケーションは、ビルドに使用されたバージョンの .NET Framework で実行されます。」と記載されているので、
想像と同じく、以下のようになるようです。
・.NETframework2.0で作成したモジュール(DLL) = 2.0で動作
・.NETframework3.0で作成したモジュール(DLL) = 3.0で動作
・.NETframework4.0で作成したモジュール(DLL) = 4.0で動作
気になることが、WebRoleとWorkerRoleで動作Versionが異なる点です。
WebRoleでは、IISで設定したVersionで動作するようなので以下のようになり、
IIS設定:4.0
・.NETframework2.0で作成したモジュール(DLL) = 4.0で動作
・.NETframework3.0で作成したモジュール(DLL) = 4.0で動作
・.NETframework4.0で作成したモジュール(DLL) = 4.0で動作
WorkerRoleでは、ビルドに使用されたバージョンで動作するようなので、以下のようになります。
WorkerRoleのプロジェクトのプロパティ設定:4.0
・.NETframework2.0で作成したモジュール(DLL) = 2.0で動作
・.NETframework3.0で作成したモジュール(DLL) = 3.0で動作
・.NETframework4.0で作成したモジュール(DLL) = 4.0で動作
今回、.NET Remotingを利用している関係で、同一のDLLをWebRole、WorkerRoleへ配置しています。
上記のようなことになるのならば、各DLLを4.0化した方がいいように思います。
.NET Frameworkは難しいですね・・・内部的な構造や仕組みがよく分かりません。