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

わんくま同盟

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

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

ツリー一括表示

異なるFrameworkのソリューション構成 /yuuki (19/06/07(Fri) 14:51) #91232
Re[1]: 異なるFrameworkのソリューション構成 /Azulean (19/06/07(Fri) 23:05) #91243
  └ Re[2]: 異なるFrameworkのソリューション構成 /yuuki (19/06/10(Mon) 11:45) #91274 解決済み


親記事 / ▼[ 91243 ]
■91232 / 親階層)  異なるFrameworkのソリューション構成
□投稿者/ yuuki (1回)-(2019/06/07(Fri) 14:51:23)

分類:[.NET 全般] 

いつも勉強させていただいてます。
yuukiと申します。

現在、.NET Framework 4.0をターゲットにしたアプリケーションがあります。
同アプリは、多数のDLLを参照しており、全て.NET Framework4.0をターゲットにしてきました。

その中で、外部APIのDLLがあり、そのDLLを更新しないといけなくなりました。
しかし、更新するDLLは.NET Framework 4.5 をターゲットとしております。

現在のソリューションを単純にDLL更新すると、ソリューション自体は4.0ターゲットだとエラーになります。
■ソリューション構成
1)ProjectCommon.DLL(DLLプロジェクト)
 ⇒ターゲット:.NET Framework 4.0
 ⇒他参照DLL:.NET Framework 4.0
 ⇒★外部API参照DLL:.NET Framework 4.0から4.5に代わる

2)ProjectShared.DLL(DLLプロジェクト)
 ⇒ターゲット:.NET Framework 4.0
 ⇒1)を参照設定
 ⇒他参照DLL:.NET Framework 4.0

3)ProjectExe (EXEプロジェクト)
 ⇒ターゲット:.NET Framework 4.0
 ⇒ 1)2)を参照
 ⇒他参照DLL:.NET Framework 4.0

この場合、1)のターゲットを4.5にすると、他参照DLLが上手く機能できず、当然2)3)もエラーとなります。
全てのターゲットを.NET Framework 4.0から4.5に変更することは問題ないのですが、
何かほかに手立てがないか考えているところです。

異なる ターゲットの.NET Frameworkバージョンをうまく共存させる方法はありますでしょうか?

※動作するPCは両方の.NET Frameworkバージョンがインストールされています

[ □ Tree ] 返信 編集キー/

▲[ 91232 ] / ▼[ 91274 ]
■91243 / 1階層)  Re[1]: 異なるFrameworkのソリューション構成
□投稿者/ Azulean (1064回)-(2019/06/07(Fri) 23:05:32)
No91232 (yuuki さん) に返信
> 異なる ターゲットの.NET Frameworkバージョンをうまく共存させる方法はありますでしょうか?

私の知る限りはないと思います。
仮にできたとしても、実行時までエラーになるかどうかわからない、危ういものができあがるだけなので、素直に上げた方が良いと思います。

どうせ上げるのですから、実行環境として想定している下限めいっぱいまで一気に上げた方が良いでしょうね。


// 試していませんが、以下のようなツールはあるそうです。
// https://marketplace.visualstudio.com/items?itemName=PavelSamokha.TargetFrameworkMigrator
[ 親 91232 / □ Tree ] 返信 編集キー/

▲[ 91243 ] / 返信無し
■91274 / 2階層)  Re[2]: 異なるFrameworkのソリューション構成
□投稿者/ yuuki (2回)-(2019/06/10(Mon) 11:45:25)
No91243 (Azulean さん) に返信
返信ありがとうございます。

やはりそうですよね。
今のところ、.NET Frameworkのバージョン統一する方向で考えています。
ご助言、ありがとうございます!
解決済み
[ 親 91232 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -