如何解决我的项目DLL和GAC中的DLL之间的歧义?
我目前正在研究ASP.NET MVC项目中的另一个问题 。 为了更好地理解代码库中发生的事情,我决定在我自己的项目中引用ASP.NET MVC源代码项目,方法是将解决方案文件添加到我的引用中。
当我这样做时,我开始收到HTTP 404错误。
我恰好在HandleErrorAttribute
的OnException()
方法上设置了断点,否则可能需要很长时间才能找到实际问题。 当我将鼠标hover在OnException
方法调用中的filterContext
参数上时,我得到此Exception
描述:
类型'System.Web.Mvc.ViewMasterPage'是不明确的: 它可能来自assembly[GAC中的assembly路径] 或从assembly[我的项目中的assembly路径]
GAC中的程序集就在那里,因为我安装了ASP.NET MVC 2.0 RC2版本 。
我如何才能最好地解决这种歧义?
System.Web.Mvc
在Web.Config
中的
部分中引用。 在我的应用程序中,此条目具有公钥标记属性。
我通过删除PublicKeyToken
属性解决了这个问题。
所以这:
成为这个:
显然,当缺少PublicKeyToken
时,Visual Studio无法在GAC中找到已签名的程序集,因此它被强制使用本地项目程序集。
我不确定,但也许你的答案在于你的配置的assemblyBinding标签: http : //msdn.microsoft.com/en-us/library/twy1dw1e.aspx
- Javascript ajax将文本框文本发布到ActionResult asp.net mvc
- 将数据从模型传递到自定义validation类
- MemoryCache在MVC中的用途是什么?
- 在asp.net-mvc中,如何在不降低用户体验的情况下运行昂贵的操作?
- 无法使用linq lambda表达式转换’System.Data.Entity.Infrastructure.DbQuery`1 ‘类型的对象
- 如何注册路由区域
- 使用ASP.NET Web API并排进行基本和表单身份validation
- JavaScriptSerializer:将列表+字符串序列化为JSON
- Asp.net身份过期会话Cookie