加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使T4MVC与ASP.NET 5一起使用

发布时间:2020-12-16 04:06:54 所属栏目:asp.Net 来源:网络整理
导读:根据 this线程中的最新评论,现在,从Visual Studio Update 1开始,ASP.NET 5中将支持.tt模板. 哪个恕我直言会很棒,因为多年来使用T4MVC之后,我当然不想回到使用魔术字符串作为路径/视图名称(容易出错而且不重构). 但是,我无法使用ASP.NET 5 RC和Visual Studio
根据 this线程中的最新评论,现在,从Visual Studio Update 1开始,ASP.NET 5中将支持.tt模板.

哪个恕我直言会很棒,因为多年来使用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: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

还有其他建议吗?

另请参阅this关于ASP.NET 5中T4MVC替代方案的相关问题.

解决方法

此时,T4MVC不是为在ASP.NET 5项目上运行而设计的,所以我并不感到惊讶它不起作用.

不久前,使用基于Roslyn的方法启动了一个单独的R4MVC项目.但是,这是在ASP.NET 5没有T4支持的时候完成的,现在已经重新审视了.

所以有可能希望让T4MVC在那里运行,但是有人需要花时间来看看它的工作距离.

我刚刚迈出了一小步,fixed你所击中的空参考(尚未发布,你需要手动修复).然而,我接着遇到了似乎完全放弃的状况.

无论如何,这不是完全调查所有问题的地方,但如果有人想要接受,我们可以在https://github.com/T4MVC/T4MVC讨论.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读