在ASP.NET MVC中添加对视图的引用

dna*_*oli 10 .net asp.net-mvc razor asp.net-mvc-3

我正在添加一个来自Infragistics的控件库参考,以在我的ASP .NET MVC 3 Razor视图中使用它们的控件.我已经添加了dll作为项目的参考.

参考
参考属性

如果我using Infragistics.Web.Mvc在文件的顶部添加一个,我的控制器可以很好地访问命名空间.

有两种方法可以告诉视图包含命名空间.首先是放在@using Infragistics.Web.Mvc视图的顶部.但是,如果我尝试,我会收到以下错误:

找不到类型或命名空间名称"Infragistics"(您是否缺少using指令或程序集引用?)

第二个是在视图Web.config的页面部分添加对命名空间的调用,如下所示:

<system.web.webPages.razor>
   <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ABCABCABCABCABC" />
   <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
         Other namespaces...
         <add namespace="Infragistics.Web.Mvc"/>
      </namespaces>
   </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

我能让它工作的唯一方法是在根Web.config文件中添加以下行:

<system.web>
   <compilation debug="true" targetFramework="4.0">
      <assemblies>
         ...
         <add assembly="Infragistics.Web.Mvc, Version=3.11.1.2010, Culture=neutral, PublicKeyToken=blahblahblah" />
      </assemblies>
   </compilation>
Run Code Online (Sandbox Code Playgroud)

关于Web.config的一些进一步调查,我发现通过包含该行,它告诉编译器在编译ASP .NET资源时使用该资源.我不得不使用SN.exe来查找PublicKeyToken.

我究竟做错了什么?

Tim*_*ple 21

我不确定Infragistics的安装是如何工作的,或者你是如何运行你的网站的,但你可能需要告诉Visual Studio在构建上复制dll,以便它包含在web项目中.在探索太多其他选项之前,值得检查.

这是一个例子

在此输入图像描述