3

Visual Studio 2010 および NET4.0 で正しくコンパイルされASP.NET プロジェクトがあります。

次に、VS Express 2012 とNET4.5をインストールしましたが、SqlConnection を開こうとすると常に例外が発生します。

プロジェクトを NET4.0 を対象として (したがって 4.5 をアンインストールせずに) 再コンパイルして動作させる機会はありますか?

VS Express 2012 には、次の web.config があります。

<system.web>
<compilation debug="true" targetFramework="4.0"/>

参照されているアセンブリは、v4.0 を正しくターゲットにしています。次に例を示します。

Assembly System.Data
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll

EDIT 2 このブログhttp://blogs.msdn.com/b/msbuild/archive/2007/04/12/new-reference-assemblies-location.aspxおよびこの回答https://stackoverflow.com/a/として8543850/1012244は非常によく説明しています。参照されたアセンブリ (フォルダーには、新しいコンポーネントの設計およびビルド中に参照するのに役立つ x.xx フレームワークに同梱されているアセンブリが含まれています) と実行時シナリオ (実行時に、これらほとんどの場合、コンポーネントは引き続き GAC からロードされます)。

ただし、プロジェクトを実行すると、プロジェクトが実際に NET4.5 を使用しているかのように、常に例外が発生します...なぜですか?

PS。このプロジェクトを、NET4.0 のみがインストールされた運用サーバー マシンに展開すると、接続は問題ありません。これは今では明らかです:Net4.5をインストールすると、本質的にNet4.0が置き換えられます)

更新された質問 - 新しい Net4.5 dll の代わりに古い NET4.0 .dll (私の場合は System.Data.dll) を対象とするプロジェクトを再コンパイルする機会はありますか?


編集 - 追加情報

この MSDN リンクhttp://msdn.microsoft.com/en-us/library/ff602939.aspxで見つけました:

.NET Framework 4.5 の変更によってアプリケーションが壊れたと判断した場合は、ランタイム設定スキーマをチェックして、アプリケーション構成ファイルのランタイム設定を使用して以前の動作を復元できるかどうかを判断してください。

これは私を助けることができますか?そしてどうやって?

4

0 に答える 0