Build Errors - 'System.Web.Mvc.ModelClientValidationRule' Conflicts

后端 未结 5 1543
一生所求
一生所求 2020-12-09 03:01

I am trying to \'build\' my MVC3 web app in VS2010 however keep getting the following error:

Error 2 The type \'System.Web.Mvc.ModelClientValidationRule\' exists

相关标签:
5条回答
  • 2020-12-09 03:34

    After installing MVC4 beta today, a few of my MVC 3 projects would not compile. (ModelClientValidationRule conflict) The fix was:

    Edit:

    ProjectName.csproj
    

    Change

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

    To

    <Reference Include="System.Web.WebPages, Version=1.0.0.0,
    Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
    
    0 讨论(0)
  • 2020-12-09 03:38

    Ok try this solution...

    1. In the root Web.config file, add a new entry with the key webPages:Version and the value 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" />
    

    Replace them with the following:

    <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.Save the changes, close the project (.csproj) file you were editing, and then right-click the project and select Reload.

    REFERENCE: http://forums.asp.net/t/1723108.aspx/1

    also try: http://www.asp.net/learn/whitepapers/mvc4-release-notes#_Toc303253815

    0 讨论(0)
  • This issue, which is the same as you described in VS2010, occurred in my case in VS2015 with a newer version of MVC (V5).

    Here's how I was able to fix it:

    • Update the NUGET packages to the latest version.

    • In your project, remove the references for Microsoft.AspNet.WebPages. Then, re-add reference by using the latest package (use "Browse..."):

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

    • Ensure that all projects are referencing the same assembly, if not, fix them as described above. Then, re-build the solution. In my case, it fixed the error.

    Check the Web.config file, and fix settings such as:

    <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>
    
    0 讨论(0)
  • 2020-12-09 03:56

    Delete System.Web.WebPages from solution references. It is all.

    0 讨论(0)
  • 2020-12-09 03:59

    The best way to avoid this conflict is-

    1. Go to solution explorer
    2. Reference
    3. Right click on System.Web.WebPages
    4. Remove

    Now run your application and Enjoy !

    0 讨论(0)
提交回复
热议问题