哪个恕我直言会很棒,因为多年来使用T4MVC之后,我当然不想回到使用魔术字符串作为路径/视图名称(容易出错而且不重构).
但是,我无法使用ASP.NET 5 RC和Visual Studio Professional 2015 Update 1.
这是我尝试过的:
>将T4MVC NuGet(3.16.5)添加到空白的ASP.NET 5解决方案:nope,CoreCLR抱怨并且没有.tt文件添加到项目中:
Error NU1002 The dependency T4MVCExtensions 3.16.5 in project
WebApplication1 does not support framework DNXCore,Version=v5.0.
>将NuGet添加到经典的ASP.NET 4.6解决方案,并手动将T4MVC.tt,T4MVC.tt.hooks.t4和T4MVC.tt.settings.xml复制到ASP.NET 5解决方案:Visual Studio确实提供了“运行”自定义工具“在.tt文件上….
…但是运行转换会抛出NullReferenceException:
Severity Code Description Project File Line Suppression State Error Running transformation: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.GetProjectItem(ProjectItems items,String subPath) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 1398 at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.GetProjectItem(Project project,String name) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 1378 at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.ProcessAreas(Project project) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 600 at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.PrepareDataToRender(TextTransformation tt) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 557 at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.TransformText() in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 40 WebApplication3 c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt 1398
还有其他建议吗?
另请参阅this关于ASP.NET 5中T4MVC替代方案的相关问题.
解决方法
不久前,使用基于Roslyn的方法启动了一个单独的R4MVC项目.但是,这是在ASP.NET 5没有T4支持的时候完成的,现在已经重新审视了.
所以有可能希望让T4MVC在那里运行,但是有人需要花时间来看看它的工作距离.
我刚刚迈出了一小步,fixed你所击中的空参考(尚未发布,你需要手动修复).然而,我接着遇到了似乎完全放弃的状况.
无论如何,这不是完全调查所有问题的地方,但如果有人想要接受,我们可以在https://github.com/T4MVC/T4MVC讨论.