我下载了example written in asp.net mvc3 visual studio 2010
的源代码visual studio 2012 打开解决方案文件。它将源代码转换为2012并打开解决方案。
当我构建解决方案时出错:
错误1存在类型'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:\ studyCode \ MVCDemo-Part12 \ MVCDemo-Part12 \ MVCDemo \ Attributes \ Validation \ EqualAttribute.cs 54 28 MVCDemo
答案 0 :(得分:41)
只需从解决方案参考
中删除 System.Web.WebPages 即可答案 1 :(得分:5)
这个答案也可以解决您的问题:
在根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/>
注意:可能重复QUESTION
答案 2 :(得分:0)
右键单击VS2010中的项目名称。 单击“添加可部署的依赖项”。 重建
答案 3 :(得分:0)
http://www.asp.net/whitepapers/mvc4-release-notes
从MVC 3升级到MVC 4时,请参阅此链接,指出已知错误:
按照步骤操作,您应该在几分钟内启动并运行。
仅供参考 - 如果您从网上下载了一个zip文件,请右键单击文件,单击属性,然后在解压缩之前选择“取消阻止”,否则您会感到很痛苦。
我添加了 Notes - 其余部分来自上面引用的网站,从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文件中(项目的根目录中有一个,Views文件夹中有一个,项目中每个区域的Views文件夹中有一个),请替换以下文本的每个实例(注意:在使用Visual Studio 2012创建的项目中找不到System.Web.WebPages,Version = 1.0.0.0): System.Web.Mvc,Version = 3.0.0.0 System.Web.WebPages,Version = 1.0.0.0 System.Web.Helpers,Version = 1.0.0.0 System.Web.WebPages.Razor,Version = 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
注意 - “网页:版本”根本不在我的设置中...我只添加了“PreserveLoginUrl”行*
在根Web.config文件中,将webPages:Version元素更新为“2.0.0.0”并添加一个值为“true”的新PreserveLoginUrl键:
在Solution Explorer中,右键单击References并选择Manage NuGet Packages。在左侧窗格中,选择Online \ NuGet官方软件包源,然后更新以下内容: ASP.NET MVC 4 (可选)jQuery,jQuery Validation和jQuery UI (可选)实体框架 (Optonal)Modernizr
这是我必须要让我的版本工作.... **
在“解决方案资源管理器”中,右键单击项目名称,然后选择“卸载项目”。然后再次右键单击该名称,并选择Edit ProjectName.csproj。 找到ProjectTypeGuids元素,并将{E53F8FEA-EAE0-44A6-8774-FFD645390401}替换为{E3E379DF-F4C6-4180-9B81-6769533ABE47}。 保存更改,关闭正在编辑的项目(.csproj)文件,右键单击该项目,然后选择“重新加载项目”。 如果项目引用使用以前版本的ASP.NET MVC编译的任何第三方库,请打开根Web.config文件并在配置部分下添加以下三个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>
快乐编码
Dan B。