2011-08-19 2 views
10

Infragistics에서 컨트롤 라이브러리 참조를 추가하여 ASP .NET MVC 3 면도기 뷰에서 해당 컨트롤을 사용합니다. dll을 이미 프로젝트에 대한 참조로 추가했습니다. ASP.NET MVC에서 뷰에 대한 참조 추가

reference


reference properties

내가 파일의 상단에 using Infragistics.Web.Mvc을 추가하면 내 컨트롤러가 네임 스페이스의 벌금을 액세스 할 수 있습니다.

보기가 네임 스페이스를 포함하도록 지시하는 방법은 두 가지가 있습니다. 첫 번째는 @using Infragistics.Web.Mvc을보기의 맨 위에 놓는 것입니다. 두 번째는

The type or namespace name 'Infragistics' could not be found (are you missing a using directive or an assembly reference?)

이 같은 뷰의 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> 

나는 것을 시도하지만 경우에, 나는 다음과 같은 오류가 발생합니다 이것도 작동하지 않습니다. 나는 일에 그것을 얻을 수

유일한 방법은 루트 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> 

On some further investigation regarding Web.config, 그 라인을 포함하여이 것을 사용하도록 컴파일러에 지시 발견 리소스를 ASP .NET 리소스를 컴파일 할 때. PublicKeyToken을 찾으려면 SN.exe를 사용해야했습니다.

내가 뭘 잘못하고 있니?

+0

입니까? – jzm

+0

그래, 그게 내가 "이미 프로젝트에 대한 참조로 DLL을 추가했습니다."라는 의미입니다. – link664

답변

21

내가 Infragistics의 설치가 어떻게 작동하는지 확실하지 않다 방법 또는 당신이 당신의 웹 사이트를 실행하는 데 도움이 희망, 그러나 당신은 웹으로 빌드 그래서이 포함 된 것을 DLL을 복사하려면 Visual Studio를 알려줄 필요가 있습니다 계획. 너무 많은 다른 옵션을 탐색하기 전에 확인할 가치가 있습니다.여기

은 Visual Studio에서 프로젝트에 대한 참조를 추가나요 예를 들어

enter image description here

+1

그게 전부 였어! Copy Local을 true로 설정하고 컴파일 태그를 제거하면 제대로 작동합니다. : D – link664

+0

나와 함께 일했습니다 :-) –

+0

나를 위해 일해도. 그러나 특정 컨트롤 목록 만 사용할 수 있습니다. WebDropDown 컨트롤을 어떻게 사용합니까? – Shumii

1

불행히도 여기에는 이상한 일이 있습니다. 단순히 참조를 추가하고 네임 스페이스를 포함하는 단계가이 작업을 수행하기에 충분합니다.

내 응용 프로그램에서는 web.config의 어셈블리 요소에 항목이없고 @using (예 : MVC grid @ MvcContrib.UI.Grid 사용) 만 있으면 모든 것이 올바르게 작동합니다. 나는 그것이 문제를 해결하는데 많은 도움이되지 않는다는 것을 안다. 그러나 적어도 당신은 이것과 같이 작동해야한다는 것을 안다.

사용 설명서 뒤에 세미콜론이 필요하지 않습니다. 어셈블리를 어느 위치에서 추가 했습니까?

+1

로컬 컴퓨터의 Program Files 폴더에 추가했습니다. – link664

4

코드 보면되지 다음의 Web.config에 넣어 것 같다 않습니다

<pages> 
    <namespaces> 
    <add namespace="System.Web.Helpers" /> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="System.Web.WebPages" /> 

    ... 

    <add namespace="Infragistics.Web.Mvc" /> 
    </namespaces> 
</pages> 

이것을 Infragistics의이 확장으로 dll을 또한 사용하도록 viewengine (면도칼 또는 다른 사람)을 말한다.

면도기를 사용하는 경우 View \ web.config의 "네임 스페이스"태그도 확인하십시오. 원하는 경우 네임 스페이스를 지정할 수 있습니다.

+0

뷰 파일에서 "@using Infragistics.Web.Mvc"를 사용하면 Web.config에 네임 스페이스 호출을 포함 할 필요가 없습니다. 네임 스페이스를두면 모든보기에서 사용할 수 있습니다. 그러나 네임 스페이스를 넣거나 "@using"도 어셈블리 호출 없이는 작동하지 않습니다. – link664

+0

이것도 infragistcs의 손상된 설치가 작동하지 않는다면? – Iridio

관련 문제