asp.net 生成错误-“System.Web.Mvc.ModelClientValidationRule”冲突

vtwuwzda  于 2023-11-20  发布在  .NET
关注(0)|答案(5)|浏览(114)

我试图在VS2010中“构建”我的MVC 3 Web应用程序,但不断收到以下错误:
错误2类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“c:\Program Files(x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll”和“c:\Program Files(x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll”C:\Users\brownp\Documents\Visual Studio 2010\Projects\Cab\Models\Accounts.cs 223 28 Cab
此外,每次我打开解决方案时,它都会提示我以下内容:


的数据
我通过Web Platform安装,安装成功,但每次打开解决方案时都会重新出现该消息。
有没有人可以提供指导?
谢谢保罗

txu3uszq

txu3uszq1#

今天安装了MVC 4 beta后,我的一些MVC 3项目无法编译。(ModelClientValidationRule冲突)修复方法是:
编辑:

ProjectName.csproj

字符串
变化

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


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

nhhxz33t

nhhxz33t2#

试试这个解决方案……
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>

字符串
第一个月
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

p5fdfcr1

p5fdfcr13#

从解决方案引用中删除System.Web.WebPages。这就是全部。

dhxwm5r4

dhxwm5r44#

避免这种冲突的最好方法是-
1.转到解决方案资源管理器
1.参考
1.右键单击System.Web.WebPages
1.去除
现在运行您的应用程序并享受!

ut6juiuv

ut6juiuv5#

这个问题与您在VS2010中描述的相同,在VS2015中使用较新版本的MVC(V5)时发生在我的案例中。
以下是我如何修复它的:

  • 将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>

字符串

相关问题