2017-03-28 3 views
0

은 오차드 테마 HTML 확장 방법을 찾을 수 없습니다 :컴파일러는 내가 오차드 테마 일하고 있어요 및 다음 HTML 확장 메서드를 만들었습니다

@using Themes.MyTheme 

// More razor syntax 

@if (!Html.IsCurrent("New", "Customer")) { 
    Html.ActionLink(T("New Customer").ToString(), "New", new { Controller = "Customer", Area = "My.Area" }, new { }) 
} 

나는 다음과 같은 예외가 점점 오전 :

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

This answer (및 기타)로 저를 이끌어 필자는 필자가 수행 한 뷰 폴더의 web.config에 네임 스페이스를 추가해야했습니다. 하지만 여전히이 오류가 발생합니다.

확장 방법은 Razor보기 (표준 오차드 솔루션의 테마 프로젝트, codegen을 사용하여 테마를 만들고 거기에 테마를 추가 한 것과 같은 어셈블리)에서 정의됩니다.

Razor/Orchard/컴파일러에서이 네임 스페이스를 인식하도록하려면 어떻게합니까?

+0

Html.ActionLink 줄 끝 부분에 누락 된 세미콜론 외에도 그것은 나를 위해 작동합니다. 방금 ​​새 테마를 만들고 클래스를 추가 한 다음보기에 사용했습니다. 어쩌면 당신은 사용 끝에서 세미콜론을 놓칠 수 있습니다. 두 개 이상을 사용하는 경우 필요합니다. (Web.Config에 대한 참조를 추가 할 필요가 없었습니다.) – humanoidcreature

+0

실제로 보이는 것보다 더 쉽게 놓치기 때문에 : 프로젝트에 파일을 추가 했습니까? –

+0

세미콜론을 추가했지만 도움이되지 않았습니다. 파일은 프로젝트의 일부입니다 (실제로 이러한 문제는 종종 이러한 작은 오류입니다). 재밌 네요, VS2015는 내가 사용을 추가 할 때 구불 구불 한 선을 보이지 않지만 제거 할 때 나는 선을 보입니다. 에디터에게는 모두 괜찮습니다. 이 문제는 런타임에만 발생합니다. 이제는 면도기 기능을 사용하여 문제를 해결했지만 더 자세히 살펴 보겠습니다. Orchard의 특정 설치로 비린내가 될지도 모릅니다. – Peter

답변

1

테마 아래의 폴더가 아닌 자신의 프로젝트로 테마를 만들어야합니다. 자신의 .csproj 파일이없는 테마는 코드가 있습니다. 두려워요. codegen으로 테마를 만들 때 깃발이 있습니다 :

/CreateProject:true 
+0

그래, 나는 이런 식으로 생각했다. 내 테마는 이제 Themes 프로젝트에 있습니다. 나는 그것을 옮겨야 할 것이다. – Peter

+0

여전히 web.config를 추가해야했지만 실제로이 트릭을 수행합니다. – Peter