当控制器和视图位于不同的库中时使用T4MVC

时间:2016-06-02 16:25:01

标签: c# asp.net-mvc-5 t4mvc

当控制器和模型与视图位于不同的库中时,是否可以使用T4MVC?

  

例如,

     
      
  • Namespace.Common.MVC
  •   
     

包含引用的控制器模型   由

     
      
  • Namespace.MvcApplication1
  •   
  • Namespace.MvcApplication2
  •   
     

包含观看次数

将nuget T4MVC软件包安装到Common.MVCMvcApplication1中可以正常工作,但是当尝试在View上使用MVC.时,多个名称空间中存在MVC错误这是合乎逻辑的。

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

就像任何C#代码一样,如果您尝试使用其名称存在于多个名称空间中的类型,则需要向编译器提供一些帮助,以便它可以确定您所引用的类型。

这种情况下的选项是:

  • 完全限定MVC类型名称,例如在您的观看次数中使用Namespace.Common.MVC.MVC
  • 更改每个项目中生成的类型的名称。例如。打开公共项目中的T4MVC.tt.settings.xml文件,将<HelpersPrefix>元素的值从MVC更改为唯一的MVCCommon。在您的观看次数中,您现在可以将其引用为MVCCommon.Something