15

asp.net mvc3 visualstudio2010で記述された例のソースコードをダウンロードしました

VisualStudio2012でソリューションファイルを開きます。ソースコードを2012年まで隠蔽し、ソリューションを開きます。

ソリューションをビルドするとエラーが発生しました:

エラー1タイプ「System.Web.Mvc.ModelClientValidationRule」は「c:\ ProgramFiles(x86)\ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assembly\System.Web.Mvc.dll」と「c」の両方に存在します:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET Web Pages \ v2.0 \ Assemblys \ System.Web.WebPages.dll'C:\ studyCode \ MVCDemo-Part12 \ MVCDemo-Part12 \ MVCDemo \ Attributes \ Validation \ EqualAttribute.cs 54 28 MVCDemo

4

4 に答える 4

42

ソリューション参照からSystem.Web.WebPagesを削除するだけです

于 2013-02-05T14:41:40.600 に答える
5

この答えもあなたの問題を解決するかもしれません:

  1. ルート Web.config ファイルに、キー webPages:Version と値 1.0.0.0 を持つ新しいエントリを追加します。

    <appSettings>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    </appSettings>
    

2.In Solution Explorer, right-click the project name and then select Unload Project. Then right-click the name again and select Edit ProjectName.csproj.

3.Locate the following assembly references:

    <Reference Include="System.Web.WebPages"/>
    <Reference Include="System.Web.Helpers" />

それらを次のように置き換えます。

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
<Reference Include="System.Web.Helpers, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>

4.変更を保存し、編集していたプロジェクト (.csproj) ファイルを閉じてから、プロジェクトを右クリックして [再読み込み] を選択します。

参照: http://forums.asp.net/t/1723108.aspx/1

また試してみてください: http://www.asp.net/learn/whitepapers/mvc4-release-notes#_Toc303253815

または、これを試すこともできます

編集:

ProjectName.csproj

変化する

<Reference Include="System.Web.WebPages"/> 

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/><br/><br/>

注: この質問の重複の可能性

于 2013-02-07T09:24:42.823 に答える
0

VS2010 でプロジェクト名を右クリックします。「展開可能な依存関係を追加」をクリックします。再構築

于 2013-09-16T23:02:05.973 に答える
0

http://www.asp.net/whitepapers/mvc4-release-notes

MVC 3 から MVC 4 にアップグレードする際の既知のエラーについては、次のリンクを参照してください。

手順に従うと、数分で起動して実行できるようになります。

参考までに - Web から zip ファイルをダウンロードした場合は、ファイルを右クリックし、[プロパティ] をクリックして [ブロック解除] を選択してから解凍してください。

メモを追加しました。残りは、MVC3 から 4 にアップグレードする際の既知のエラーに関する上記のサイトからのものです。

***自動アップグレード** * ASP.NET MVC 3 プロジェクトを ASP.NET MVC 4 にアップグレードする ASP.NET MVC 4 は、同じコンピューターに ASP.NET MVC 3 と並行してインストールできるため、ASP をいつアップグレードするかを柔軟に選択できます。 .NET MVC 3 アプリケーションから ASP.NET MVC 4 へ。

アップグレードする最も簡単な方法は、新しい ASP.NET MVC 4 プロジェクトを作成し、すべてのビュー、コントローラー、コード、およびコンテンツ ファイルを既存の MVC 3 プロジェクトから新しいプロジェクトにコピーしてから、新しいプロジェクトのアセンブリ参照を更新することです。使用している MVC 以外のテンプレートに含まれるアセンブリと一致するようにします。MVC 3 プロジェクトの Web.config ファイルに変更を加えた場合は、それらの変更を MVC 4 プロジェクトの Web.config ファイルにもマージする必要があります。

***手動アップグレード** * *** 既存の ASP.NET MVC 3 アプリケーションを手動でバージョン 4 にアップグレードするには、次の手順を実行します。

プロジェクト内のすべての Web.config ファイル (プロジェクトのルートに 1 つ、Views フォルダーに 1 つ、プロジェクトの各領域の Views フォルダーに 1 つ) で、次のテキストのすべてのインスタンスを置き換えます (注: System.Web.WebPages、Version=1.0.0.0 は、Visual Studio 2012 で作成されたプロジェクトでは見つかりません): System.Web.Mvc、Version=3.0.0.0 System.Web.WebPages、Version=1.0.0.0 System.Web.Helpers 、バージョン = 1.0.0.0 System.Web.WebPages.Razor、バージョン = 1.0.0.0

次の対応するテキスト:

System.Web.Mvc, Version=4.0.0.0
System.Web.WebPages, Version=2.0.0.0
System.Web.Helpers, Version=2.0.0.0
System.Web.WebPages.Razor, Version=2.0.0.0

注 - 「webpages:Version」は私の設定にはまったくありませんでした...「PreserveLoginUrl」行のみを追加しました*

ルートの Web.config ファイルで、webPages:Version 要素を "2.0.0.0" に更新し、値が "true" の新しい PreserveLoginUrl キーを追加します。

ソリューション エクスプローラーで、[参照] を右クリックし、[NuGet パッケージの管理] を選択します。左側のペインで、Online\NuGet 公式パッケージ ソースを選択し、次を更新します。 ASP.NET MVC 4 (オプション) jQuery、jQuery Validation、および jQuery UI (オプション) Entity Framework (オプション) Modernizr

これは、私のバージョンを動作させるために行かなければならなかった限りです.... **

ソリューション エクスプローラーで、プロジェクト名を右クリックし、[プロジェクトのアンロード] を選択します。次に、名前をもう一度右クリックし、[ProjectName.csproj の編集] を選択します。ProjectTypeGuids 要素を見つけて、{E53F8FEA-EAE0-44A6-8774-FFD645390401} を {E3E379DF-F4C6-4180-9B81-6769533ABE47} に置き換えます。変更を保存し、編集していたプロジェクト (.csproj) ファイルを閉じ、プロジェクトを右クリックして、[プロジェクトの再読み込み] を選択します。プロジェクトが以前のバージョンの ASP.NET MVC を使用してコンパイルされたサードパーティ ライブラリを参照している場合は、ルートの Web.config ファイルを開き、構成セクションの下に次の 3 つの bindingRedirect 要素を追加します。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Helpers" 
           publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" 
           publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.WebPages" 
           publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>
</configuration>

ハッピーコーディング

ダン B.

于 2013-12-11T15:50:28.037 に答える