剃刀视图没有看到外部程序集

我在项目1中设置了一个类来扩展WebViewPage,以便可以添加自己的扩展方法.我关注了这个页面:right here.

我还有一个包含一个类和一个对象的第二个项目.该项目的.dll在项目1中被引用,并在gacutil中注册.

扩展方法使用项目2中的对象.每当我在页面上使用新实现的扩展方法时,都会收到CCS0012错误.

CS0012: The type ‘namespace.AppAuthentication.type’ is defined
in an assembly that is not referenced. You must add a reference to
assembly ‘namespace.AppAuthentication’

我已经能够调试通过,并看到该对象已正确设置.即使当我将其解析为JSON并将其显示在jquery的控制台中时,一切也都在那里!仅当我访问视图中的对象时.

在项目1中引用了项目2.在我的gacutil中注册了项目2的.dll.唯一可行的方法是在参考上将“ copy local”设置为true.除此之外,这对我来说不是可接受的选择.我一直在尝试在阳光下进行的所有操作,以及此帖子中列出的所有操作:right here.

如果有人能对此事提供一些启示,我将万分感谢.在我看来,Razor似乎无法访问在GAC中注册的程序集.

*编辑:固定标题

解决方法:

一段时间后,我的同事找到了我们的解决方案.我试图添加名称空间,而我们需要添加的程序集.这是在根web.config中完成的,而不是在视图web.config中完成的.我们只需要添加:

<compilation debug="false" targetFramework="4.0">
 <assemblies>
  <add assembly="namespace.AppAuthentication />
 </assemblies>
</compilation>

现在,我可以使用自定义WebViewPage扩展了!

上一篇:五十三、linux 编程——TCP 编程基本介绍


下一篇:我无法在控制器中发布的文本框中获取值