2013-02-28 5 views
1

T4MVC (3.5.1)를 ASP.NET MVC3 프로젝트에 연결했습니다.T4MVC가 컨트롤러의 네임 스페이스를 잘못 생성 중입니다.

* .generated.cs 파일에 잘못된 네임 스페이스가 생성되는 것으로 보입니다. 예를 들어이에서

using System.Web; 
using System.Web.Hosting; 
using System.Web.Mvc; 
using System.Web.Mvc.Ajax; 
using System.Web.Mvc.Html; 
using System.Web.Routing; 
using T4MVC; 

namespace MyCompany.MyCompany.MyProject.Web.Controllers 
{ 
    public partial class HomeController 
    { 
     //snip 

     [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode] 
     public partial class T4MVC_HomeController : MyCompany.MyCompany.MyProject.Web.Controllers.HomeController 
     { 
      //snip 
     } 

     //snip 
    } 
} 

파일을 생성, 첫 MyCompany 생성 된 네임 스페이스 MyCompany.MyCompany.MyCompany.MyProject.Web.Controllers.HomeController에서 내 컨트롤러를 찾기 위해 노력하고있다, 물론 MyCompany.MyCompanyMyCompany를 포함하지 않는 인텔리의 MyCompany.MyCompany 보여줍니다, 그래서!

T4MVC에서 내 솔루션의 네임 스페이스를 올바르게 생성하려면 어떻게해야합니까?

+1

, 우리는 거기에 토론을 유지할 수 있습니다 나는이에서 신속하고 더러운 변화했다 . –

+0

슈퍼 스피드 응답 데이빗 주셔서 감사! – elwyn

답변

1

데이비드 에보가 올바른 방향으로 절 지적, 다른 사람이 여기에 같은 문제가 있었다 : https://t4mvc.codeplex.com/discussions/404550

나는 global:: 솔루션 T4MVC.tt에서, 특히,이 언급 한 사용, 라인 (321)을, 나는 변경 :

public partial class <#=controller.DerivedClassName #> : <#=controller.FullClassName #> 

public partial class <#=controller.DerivedClassName #> : global::<#=controller.FullClassName #> 

편집 : 또한 매개 변수를 설명하기 위해 1592 행을 업데이트해야했습니다 (내 모델에 동일한 네임 스페이스 문제가 있음). 이에

TT.Write(p.Type + " " + p.Name); 

: 당신이 https://t4mvc.codeplex.com/workitem/20을 연 이후

if (p.Type.StartsWith("FooBar")) 
    TT.Write("global::" + p.Type + " " + p.Name); 
else 
    TT.Write(p.Type + " " + p.Name);