如何在Visual Studio 2015中使用roslyn C#编译器?

LXG

我对罗琳有些困惑。

我做了什么:我已经安装了vs 2015社区版,并以可扩展性下载>下载编译器平台sdk。

因此,我创建了一个简单的控制台应用程序:hello world示例。

好了,现在我希望在vs2015默认值和roslyn之间选择c#编译器...,但是我没有找到这样的选项。所以我的第一个问题是:如何选择C#编译器的版本?

其次,我下载了master-roslyn并进行了构建,然后我找到了csc.exe,奇怪的是,如果我对exe进行隔离,则会得到c#编译器版本42.42.42.42。???? 正确的?

然后,我遵循了一些教程,但都是为了我:从文本文件或字符串vars加载源,分析或更改语法树,然后编译为var。

好了,我很困惑……所以:

roslyn到底是什么?元编译器?这意味着我可以像反射一样在运行时更改代码?第二:如何使用默认csc与vs2015进行编译或选择roslyn?第三:如果构建自定义版本的roslyn,如何使用Vs2015编译源代码?谁知道csc.exe是roslyn?没有帮助或命令行打印代号。

谢谢

乔什·瓦蒂

因此,您似乎有几个问题:

罗斯林是什么?

Roslyn是Visual Studio 2015中的新默认编译器。如果要在Visual Studio 2015中构建和运行应用程序,则将使用Roslyn编译器对其进行编译。您将利用仅在新编译器中可用的所有新C#6功能。

如果您使用的是VS2015,Roslyn已完全替换了旧的编译器,据我所知,您无法在VS 2015中使用旧的编译器。

Roslyn还是一个平台,允许您构建可以修改,解释和理解其他程序的程序。并不是说让您编写可以自我修改的代码(尽管这在一定程度上可能)。

Roslyn的常见用例是:

  1. 构建代码分析器,可在Visual Studio中提供错误和警告。
  2. 构建了解源代码的Visual Studio扩展。
  3. 构建其他理解或运行源代码的工具。示例:ScriptCS-使用C#代码编写脚本。

为了将Roslyn用于这些目的,请Microsoft.CodeAnalysis从NuGet中拉出软件包。您可以使用这些软件包来解析代码,分析语法树,分析符号或编译代码并发出IL。

如果您有兴趣了解有关Roslyn的更多信息,我已经开始了一个名为Learn Roslyn的系列,现在您可能会感兴趣。

我可以更换编译器吗?

是的,可以,但是在测试您想回馈给罗斯林的变更之外,我不认为这是个好主意。您可以从GitHub下拉Roslyn,并按照以下说明从Visual Studio中构建和运行Roslyn。

如果遵循这些说明,则可以使用F5运行Roslyn项目。它将启动使用您的自定义编译器的Visual Studio的新实例。从现在开始,Microsoft以外的人将通过这种方式为编译器提供功能。(以前,您无法将自定义编译器部署到Visual Studio,但他们在Visual Studio Update 1中对此进行了修复)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual Studio 2013中使用Roslyn编译器

来自分类Dev

如何在ANSI C中使用Visual Studio 2015编程(作为编辑器和编译器)?

来自分类Dev

如何停止C#编译器输出在Visual Studio 2015输出窗口中换行?

来自分类Dev

可能是Visual Studio 2015中的C#编译器错误

来自分类Dev

如何使用Visual Studio C ++编译器?

来自分类Dev

使用Intel C ++编译器的Visual Studio中的OpenMP

来自分类Dev

使用 Visual Studio 2017 构建 SSDT 项目时如何将 /unsafe 标志传递给 C# 编译器

来自分类Dev

C ++:使用Visual Studio编译器时的const指针

来自分类Dev

如何在Visual Studio中使用更少的自动编译器

来自分类Dev

C# 代码在 Visual Studio 2019 中有效,但在在线编译器中无效

来自分类Dev

如何在VS2015中使用Visual Studio开发服务器

来自分类Dev

使用Visual Studio 2017的编译器在C ++ 17中使用Lambda编译Kevlin Henney的Fizzbuzz

来自分类Dev

使用g ++编译器在Visual Studio中编译C ++程序会在最后生成%

来自分类Dev

Roslyn C#编译器如何启动?

来自分类Dev

如何在Windows下使用cmake生成使用Intel编译器的Visual Studio项目

来自分类Dev

Visual Studio 2015更新1中C ++的内部编译器错误

来自分类Dev

如何在Visual Studio 2012 Release 2中获得.less编译器支持?

来自分类Dev

如何防止输出屏幕在Visual Studio 2013 C ++编译器中消失

来自分类Dev

如何防止输出屏幕在Visual Studio 2013 C ++编译器中消失

来自分类Dev

Visual Studio 2015中的编译器是什么

来自分类Dev

在Visual Studio中使用自编译的Roslyn?

来自分类Dev

哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

来自分类Dev

Visual Studio 2015-编译器警告(等级2)C4146

来自分类Dev

可能的Visual Studio 2015 C ++编译器和IntelliSense错误

来自分类Dev

我可以在没有Visual Studio的情况下使用Visual C ++编译器吗?

来自分类Dev

如何在Visual Studio(C#)中使用WebView功能

来自分类Dev

如何在Visual Studio 2015中禁用实时编译

来自分类Dev

Visual Studio 2015-缺少64位编译器

来自分类Dev

在Visual C ++ 2015中使用64位编译器

Related 相关文章

  1. 1

    在Visual Studio 2013中使用Roslyn编译器

  2. 2

    如何在ANSI C中使用Visual Studio 2015编程(作为编辑器和编译器)?

  3. 3

    如何停止C#编译器输出在Visual Studio 2015输出窗口中换行?

  4. 4

    可能是Visual Studio 2015中的C#编译器错误

  5. 5

    如何使用Visual Studio C ++编译器?

  6. 6

    使用Intel C ++编译器的Visual Studio中的OpenMP

  7. 7

    使用 Visual Studio 2017 构建 SSDT 项目时如何将 /unsafe 标志传递给 C# 编译器

  8. 8

    C ++:使用Visual Studio编译器时的const指针

  9. 9

    如何在Visual Studio中使用更少的自动编译器

  10. 10

    C# 代码在 Visual Studio 2019 中有效,但在在线编译器中无效

  11. 11

    如何在VS2015中使用Visual Studio开发服务器

  12. 12

    使用Visual Studio 2017的编译器在C ++ 17中使用Lambda编译Kevlin Henney的Fizzbuzz

  13. 13

    使用g ++编译器在Visual Studio中编译C ++程序会在最后生成%

  14. 14

    Roslyn C#编译器如何启动?

  15. 15

    如何在Windows下使用cmake生成使用Intel编译器的Visual Studio项目

  16. 16

    Visual Studio 2015更新1中C ++的内部编译器错误

  17. 17

    如何在Visual Studio 2012 Release 2中获得.less编译器支持?

  18. 18

    如何防止输出屏幕在Visual Studio 2013 C ++编译器中消失

  19. 19

    如何防止输出屏幕在Visual Studio 2013 C ++编译器中消失

  20. 20

    Visual Studio 2015中的编译器是什么

  21. 21

    在Visual Studio中使用自编译的Roslyn?

  22. 22

    哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

  23. 23

    Visual Studio 2015-编译器警告(等级2)C4146

  24. 24

    可能的Visual Studio 2015 C ++编译器和IntelliSense错误

  25. 25

    我可以在没有Visual Studio的情况下使用Visual C ++编译器吗?

  26. 26

    如何在Visual Studio(C#)中使用WebView功能

  27. 27

    如何在Visual Studio 2015中禁用实时编译

  28. 28

    Visual Studio 2015-缺少64位编译器

  29. 29

    在Visual C ++ 2015中使用64位编译器

热门标签

归档