剃须刀视图看不到外部组件



我在项目1中设置了一个扩展WebViewPage的类,以便我可以添加自己的扩展方法。我遵循此页面:就在这里。

我有一个拥有类和对象的第二个项目。该项目的.dll在项目1中引用并在Gacutil注册。

扩展方法使用项目2中的对象。只要我在页面上使用我新实现的扩展方法时,我都会得到很棒的CCS0012错误。

cs0012:定义了类型的" namespace.appauthentication.type"在未引用的集会中。您必须添加参考汇编"命名空间"

我已经能够进行调试,并发现对象已经正确设置了。即使我将其解析为JSON并将其显示给JQuery的控制台...一切都在那里!只有当我在视图中访问对象时。

项目2在项目1中引用。项目2的.dll在我的gacutil中注册。这项工作的唯一方法是,如果我们设置"复制本地"。在参考上为真。除了,这对我来说不是可以接受的选择。我一直在阳光下尝试所有的东西,并在这篇文章中列出的所有内容:就在这里。

,如果有人能阐明此事,我将非常感激。对我来说,剃须刀似乎无法访问在GAC中注册的组件。

*编辑:固定标题

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

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

现在我可以使用我的自定义WebViewPage扩展名!

在GAC中注册的汇编将由.NET运行时加载。

您需要添加对项目成功构建的参考,但您不需要在构建和部署过程中打包。

最新更新