Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Razor 如何在ASP.NET 5中提供自定义编译任务?_Razor_Asp.net Core_Katana_Visual Studio 2015 - Fatal编程技术网

Razor 如何在ASP.NET 5中提供自定义编译任务?

Razor 如何在ASP.NET 5中提供自定义编译任务?,razor,asp.net-core,katana,visual-studio-2015,Razor,Asp.net Core,Katana,Visual Studio 2015,这个问题与ASP.NET5(又名vNext)和新的K/KRE有关 背景 我想通过引入一些简单的领域特定语言(类似于.cshtml或.xaml),为ASP.NET5项目提供一些C代码生成。用于创建.g.cs文件的自定义MsBuild任务未在KRE中使用,因此我需要执行DSL code-gen的新方法 问题1 是否有KRE/RoslynAPI可以像Razor对.cshtml那样连接到编译过程中 问题2 在代码生成期间,我希望访问Roslyn工作区和从project.json配置中找到的文件的AST。

这个问题与ASP.NET5(又名vNext)和新的K/KRE有关

背景 我想通过引入一些简单的领域特定语言(类似于
.cshtml
.xaml
),为ASP.NET5项目提供一些C代码生成。用于创建
.g.cs
文件的自定义MsBuild任务未在KRE中使用,因此我需要执行DSL code-gen的新方法

问题1 是否有
KRE
/
Roslyn
API可以像
Razor
.cshtml
那样连接到编译过程中

问题2
在代码生成期间,我希望访问
Roslyn
工作区和从
project.json
配置中找到的文件的AST。这在
k
运行时可能吗?

现在有一些方法可以做到这一点

最实用的入门方法是查看ASP.NET 5中执行类似操作的现有部分

例如:

  • 实现解析、处理和编译cshtml文件的逻辑
  • 具有其他类型的编译器前/后处理逻辑

  • 这些类型的场景并非微不足道,因此很难提供准确的指导。我不知道有任何关于此主题的博客文章或文章,因为这是ASP.NET中的一种全新模式。

    谢谢您的反馈。你的帖子确实为我指明了反向工程指南和概念的方向。值得一投。微软团队和其他微软团队之间的沟通仍然非常重要,要使这些软件包成为一个有生命的生态系统的基础。急切地等待着来自作者的更多信息。在概念层面上,简单的700字博客就足够了。