23

VS2010でMVC3Webアプリを「ビルド」しようとしていますが、次のエラーが発生し続けます。

エラー2タイプ「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:\ Users \ brownp \ Documents \ Visual Studio 2010 \ Projects \ Cab \ Cab \ Models \ AccountModels.cs 223 28 Cab

また、ソリューションを開くたびに、次のプロンプトが表示されます。

ソリューションを開くときのVS2010エラー

Web Platform Installerを介してインストールすると、正常にインストールされますが、ソリューションを開くたびにメッセージが再表示されます。

誰かが何かガイダンスを提供できますか?

ありがとうポール

4

5 に答える 5

44

今日MVC4ベータ版をインストールした後、私のMVC3プロジェクトのいくつかはコンパイルされませんでした。(ModelClientValidationRuleの競合)修正は次のとおりです。

編集:

ProjectName.csproj

変化する

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

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
于 2012-03-04T02:26:50.843 に答える
13

このソリューションを試してみてください...

  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

于 2012-03-13T09:50:10.347 に答える
10

System.Web.WebPagesソリューション参照から削除します。それがすべてです。

于 2013-02-07T09:38:38.487 に答える
3

この競合を回避する最善の方法は-

  1. ソリューションエクスプローラーに移動します
  2. 参照
  3. 右クリックSystem.Web.WebPages
  4. 削除する

次に、アプリケーションを実行してお楽しみください。

于 2013-07-30T19:14:38.533 に答える
0

この問題は、VS2010で説明したものと同じですが、私の場合、新しいバージョンのMVC(V5)を使用したVS2015で発生しました。

これが私がそれを修正することができた方法です:

  • NUGETパッケージを最新バージョンに更新します。

  • プロジェクトで、Microsoft.AspNet.WebPagesの参照を削除します。次に、最新のパッケージを使用して参照を再度追加します(「参照...」を使用)。

    C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET Web Pages \ v2.0 \ Packages \ Microsoft.AspNet.WebPages.2.0.30506.0 \ lib \ net40

  • すべてのプロジェクトが同じアセンブリを参照していることを確認します。参照していない場合は、上記のように修正します。次に、ソリューションを再構築します。私の場合、エラーは修正されました。

ファイルを確認し、次のWeb.configような設定を修正します。

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="true" />
...
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>
于 2016-05-11T09:29:03.817 に答える