日前在測試一個MVC3專案,compile後出現以下錯誤:
'C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll' 和 'C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll' 兩者中都有型別 'System.Web.Mvc.ModelClientValidationRule'
找了一下,利用以下步驟可以解決:
1. 打開MVC專案跟目錄下的web.config, 在以下區段加入<add key="webpages:Version" value="1.0.0.0"/>
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings
2. 卸離mvc 專案
3. 在xx.csproj,點右鍵,按編輯,找到以下標籤
<Reference Include="System.Web.WebPages"/>
<Reference Include="System.Web.Helpers" />
4. 將以上標籤改成
<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 "/>
5. 將xx.csproj 加入方案,重新編譯
探究原因
應該是我裝了MVC 4,造成錯亂
參考
http://stackoverflow.com/questions/14710099/the-type-modelclientvalidationrule-exists-in-both-dlls
http://forums.asp.net/t/1723108.aspx
沒有留言:
張貼留言