我一直在尝试设置
ASP.NET MVC 2 RTM Source
用于我的应用程序,因此我可以在调试时单步执行模型绑定之类的操作。但是,我没能让它工作-
我犯了如下错误:
The type 'System.Web.Mvc.Controller' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'.
The type 'System.Web.Mvc.Async.AsyncControllerActionInvoker' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'.
等。。。
我跟着台阶进去了
Steve Sanderson's howto
(对于mvc1),但是可能有不同的步骤使它在mvc2中工作?
到目前为止,我已经采取了以下步骤:
-
删除了对基于gac的
System.Web.Mvc dll
从我所有的项目。
-
将MVC源作为项目添加到解决方案中。
-
在我的每个项目中添加了对system.web.mvc项目的引用。
-
评论了
<add assembly="System.Web.Mvc...
项目中
<compilation><assemblies>
根的截面
web.config
-
评论了
<add assembly=“系统.web.mvc…
中的项
Web.CONFIG
在
Views
文件夹(和
意见
每个区域的文件夹)
-
查找/替换任何引用
System.Web.Mvc, Version=2.0.0.0
替换了他们的
PublicKeyToken
用价值
null
(原31bf3856ad364e35)
所以,问题是:
-
还有其他人在工作吗?(大概是的!)
-
在哪
公钥令牌
错误中的数字?
-
还有其他的参考资料
公钥令牌
(31bf3856ad364e35)对于
Web.CONFIG
(例如)
System.Web.Extensions
)这有关系吗?
-
知道我做错了什么吗?!我错过了几步?
谢谢您!
更新:
在回答赛义德的问题时,这里有一些额外的信息:
1)web.config中的当前程序集节点:
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
2)是的,我正在使用MVC Futures,但是我的解决方案中也内置了该项目,并引用它在解决方案中使用system.web.mvc。
3)我使用了一些非标准的参考资料。更确切地说,我将在这里列出它们:
Autofac
Autofac.Integration.Web
Autofac.Integration.Web.Mvc
Elmah
FluentValidation
FluentValidation.Mvc
log4net
MvcContrib
MySql.Data
NHibernate
MvcFutures