2

ソースコードをダウンロードし、ソリューションをVS10形式に変換し、すべてのコンパイルエラーを修正しました(主に、System.Web.RoutingおよびSystem.Web.Abstractionsの.NET 3.5バージョンへの参照を削除し、代わりに.NET 4バージョンを追加しました)プロジェクトをコンパイルしました。

しかし、出力ディレクトリ(/ bin / Release /)から出力アセンブリの1つ(この場合はMVCContrib.TestHelpers.dll)への参照を追加し、VSで参照されているアセンブリのプロパティを確認すると、ランタイムバージョンは2.0であると表示されます。 。なんで?

ソースを自分でビルドできるようにしたいのですが、何かを追加または変更したい場合は、「公式の」.NET4ビルドがそこにあったかどうかを知ることも役立ちます。見つけることができません。

4

2 に答える 2

1

MVCContribをターゲット.NET4に変換するために必要な手順は次のとおりです。

  1. VS2010でMVCContribソリューションを開き、プロジェクトアップグレードウィザードをトリガーします
  2. すべてのプロジェクトをターゲット.NET4に変更します(各プロジェクトのプロパティに移動し、アプリケーションシートでターゲットフレームワークのプロパティを変更します)
  3. すべてのプロジェクトに目を通し、System.Web.RoutingおよびSystem.Web.Abstractionsへのすべての参照を削除します。[参照の追加]ダイアログを使用して、これらのアセンブリへの参照を読み取りました。これにより、4.0バージョンになります。

ステップ2を逃したかもしれないように私には見えます。

于 2010-07-15T19:39:14.720 に答える
0

.NET 4では新しいCLRが導入されているため(ここここを参照)、実際にそこで指定されている4のランタイムバージョンを確認する必要があります。おそらく、これを.NET4としてコンパイルしなかったのでしょうか。ローカルのMVCContribのプロパティを調べて、CLRのv4上でコンパイルされることを確認してください。(はい、私はあなたが変わったと言っているのを読みました)。

または、明らかなことを言って、あなたは正しいアセンブリを見ていませんでしたか?これらのDLLはv4以外のプロジェクトでは受け入れられないはずですが、コンパイルプロジェクトで「v2.0」をどのように見ましたか?

于 2010-07-10T22:31:58.487 に答える