2017-11-21 9 views
0

のVisual Studioのプロジェクトに4.5.1の.NET Frameworkを対象としているライブラリを使用することができます。私はそれをライブラリの助けを借りて外部アプリケーションと統合する必要があります。ライブラリは4.5.1のターゲットバージョンでのみ使用できます。私は4.6.2バージョンのVisual Studioプロジェクトで同じことを参照できます。しかし、デプロイされた環境で同じものを実行するときの互換性については不明です。それは正しいアプローチですか?これに対する解決策は何でしょうか? MSDNからは、私が働いているのVisual Studioプロジェクトは.NET Frameworkの4.6.2バージョンを対象としたバージョン4.6.2

+0

これは問題ではありません(https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/version-compatibility) – john

+0

[ここを参照してください]。あなたが間違って行うことができるのは、それを試していないことだけです。 –

答えて

3

の.NET Framework 4.5以降のバージョンでは、.NET Frameworkの以前のバージョンで構築されたアプリケーションとの下位互換性があります。言い換えれば、以前のバージョンで構築されたアプリケーションやコンポーネントは、.NET Framework 4.5以降のバージョンでそのまま使用できます。ただし、デフォルトでは、彼らが開発されたときのための共通言語ランタイムのバージョンで動作するアプリなので、あなたは、.NET Framework 4.5以降のバージョンで実行するアプリケーションを有効にするには、設定ファイルを提供する必要があります。詳細については、この資料の「Version compatibility for apps」を参照してください。

私はそれは、フレームワークのバージョンの違いは不安定引き起こす可能性があることを示唆するために行くんので、完全なMSDNの記事を読んでお勧めします。実際には

を、この互換性は一見取るに足らない変化によって破壊することができます.NET Frameworkとプログラミング技術の変更たとえば、.NET Framework 4.5のパフォーマンスが向上すると、以前のバージョンでは発生しなかった競合状態が発生する可能性があります。

多くのシナリオでは問題はありませんが、私は思っていません。かなり大きな図書館であっても、自分自身で何の問題も経験したことはありません。それはあなたが当然ではないことを意味するわけではありませんので、私は注意を喚起します。

+0

私は同じことを確認します。 – amesh

+2

その記事は、実際には、コードの前置詞4.5(井戸前4本当に)を参照しています** ** **と** **の違いはありません**。 4.6は実際には任意の4を完全に上書きする_インプレースアップグレード_です。 4.5; 4.51; 4.52現在インストールされています。ノートのカップル[_(https://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx) - [.NET 4.5、.NET 4.0へのインプレースアップグレードである。NETバージョン管理とマルチターゲットは]と_ _を参照してください。程度の.NET Framework 4.6セットアップの動作](https://blogs.msdn.microsoft.com/astebner/2015/06/17/a-couple-of-notes-about-net-framework-4-6-setup-behaviors /)_。 – MickyD

+0

[4.6と同じ](https://blogs.msdn.microsoft.com/astebner/2015/06/17/a-couple-of-notes-about-net-framework-4-6-setup-behaviors/)他のインプレースアップグレードと同様に、これまで存在しなかった不慣れなランタイム動作につながる可能性があります。元のコードが3.5であった場合、.NET 4以降では、後方互換性のために複数のCLRが同じプロセスで実行されます – MickyD

関連する問題