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

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

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

DLLが参照している.NetフレームワークのVerについて

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■90791 / inTopicNo.1)  DLLが参照している.NetフレームワークのVerについて
  
□投稿者/ utamaro (1回)-(2019/04/22(Mon) 20:31:09)

分類:[.NET 全般] 

こんにちは。
VS2013(言語はVB)で作成したWindowsフォームアプリがあるのですが、
このアプリでは別の人が作成したDLL(元はVB2008で作成)を呼び出しています。
僕の作成したアプリは.Net Framework 4.5を対象のフレームワークとしているのですが、
別の人が作成したDLLの対象フレームワークは4より前(確か3.5SP1)です。
でも、このDLLは僕のアプリから問題なく呼出できているようで、動作にも問題はないようです。
このDLLはどのバージョンのフレームワーク上で動いているのでしょうか?
このDLLも.Net Framework 4.5上で動作している、ということであればいいのですが、
例えばOS側の設定で.Net Framework 3.5が無効になっている場合、
Framework4.5上で動作する僕のアプリからこのDLLを呼び出して動作させることが出来るのか、
ふと疑問に思いました。
引用返信 編集キー/
■90794 / inTopicNo.2)  Re[1]: DLLが参照している.NetフレームワークのVerについて
□投稿者/ Hongliang (786回)-(2019/04/23(Tue) 09:48:16)
そのケースだと、DLLはEXEと同じく.NET 4.xで動作します。
// ちなみに4.xは4.x内で上書きインストールなので、.NET 4.5向けとして開発しても、動作するのは実行環境にインストールされた.NET 4.xのバージョンになります。

ただし、DLL側は.NET 3.5までの標準ライブラリを呼んでいるつもりなのに実際には.NET 4.xの標準ライブラリが呼び出されるわけで、.NET Frameworkはできる限り後方互換性は保っているものの100%というわけにはいかないので、なにか想定外の挙動が発生する可能性は否定できません。
この点はご自身で十分にテストするなどして問題ないか確認していただく必要があります。
引用返信 編集キー/
■90797 / inTopicNo.3)  Re[2]: DLLが参照している.NetフレームワークのVerについて
□投稿者/ utamaro (2回)-(2019/04/23(Tue) 10:33:12)
> ただし、DLL側は.NET 3.5までの標準ライブラリを呼んでいるつもりなのに実際には.NET 4.xの標準ライブラリが呼び出されるわけで、.NET Frameworkはできる限り後方互換性は保っているものの100%というわけにはいかないので、なにか想定外の挙動が発生する可能性は否定できません。
> この点はご自身で十分にテストするなどして問題ないか確認していただく必要があります。

utamaroです。
Hongliangさま、解説ありがとうございました。
3.5を対象のフレームワークとしているDLLは、4.x上で動作していて、
とりあえずうまく動いているのは、4.xの後方互換性によるものなのですね。
この互換性が希望通りに動作しているかどうかは、きちんとテストするようにします。

非常にスッキリしました。ありがとうございました。
今後ともよろしくお願いいたします。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ