使T4MVC与ASP.NET 5一起工作
根据此主题中的最新评论,.tttt模板现在终究会在Visual Studio Update 1开始的ASP.NET 5中得到支持。
哪个恕我直言将是伟大的,因为使用T4MVC多年后,我当然不想回到使用魔术字符串的路线/视图名称(容易出错和不重构友好)。
但是,我无法完全使用ASP.NET 5 RC和Visual Studio Professional 2015 Update 1。
以下是我所尝试的:
错误NU1002项目WebApplication1中的依赖项T4MVCExtensions 3.16.5不支持框架DNXCore Version = v5.0。
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:devMyAppWebApplication3srcWebApplication3T4MVC.tt:line 1398
at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.GetProjectItem(Project project, String name) in c:devMyAppWebApplication3srcWebApplication3T4MVC.tt:line 1378
at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.ProcessAreas(Project project) in c:devMyAppWebApplication3srcWebApplication3T4MVC.tt:line 600
at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.PrepareDataToRender(TextTransformation tt) in c:devMyAppWebApplication3srcWebApplication3T4MVC.tt:line 557
at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.TransformText() in c:devMyAppWebApplication3srcWebApplication3T4MVC.tt:line 40 WebApplication3 c:devMyAppWebApplication3srcWebApplication3T4MVC.tt 1398
还有其他建议吗?
另请参阅有关ASP.NET 5中T4MVC替代方法的相关问题。
在这一点上,T4MVC不是为了运行ASP.NET 5项目而设计的,所以我不惊讶它不起作用。
一段时间后,一个单独的R4MVC项目开始使用基于Roslyn的方法。 但是,这是在ASP.NET 5没有T4支持的情况下完成的,现在已经重新讨论了。
所以有可能有T4MVC在那里运行,但有人需要投入时间来看看它有多远。
我只是采取了一小步,并修复了你击中的null ref(尚未发布,你需要手动修复)。 然而,然后我达到了似乎完全交代的状况。
无论如何,这不是全面调查所有问题的地方,但如果有人想要这样做,我们可以在https://github.com/T4MVC/T4MVC上进行讨论。
正如David Ebbo(hey!)所指出的那样,R4MVC - 一个侧面项目很久以前就已经开始了,但由于(当时)Roslyn编译器发生了重大变化而停滞不前。
幸运的是,该项目得到了恢复,R4MVC刚刚发布了它的第一个alpha版本,即将推出更多更改。
虽然该项目的工作原理有所不同,并且不使用t4模板,但最终结果是相同的,并且我们正努力在不久的将来与T4MVC实现功能平等。
链接地址: http://www.djcxy.com/p/89373.html上一篇: Make T4MVC work with ASP.NET 5
下一篇: Specifying superuser PostgreSQL password for a Docker Container