当前位置:   GIT > 正文

如何在visual studio 2015中使用roslyn c#编译器?

c#,visual-studio,roslyn,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我对罗斯林有点困惑.

我做了什么:我已经安装了vs 2015社区版并在extensibilty下载>下载编译器平台sdk.

所以我创建了一个简单的控制台应用程序:hello world example.

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

其次我已经下载了master-roslyn并且我构建了,然后我找到了csc.exe,奇怪的是,如果我执行exe,我得到c#编译器版本42.42.42.42.???? 对?

然后我按照一些教程,但我的目的都是:从文本文件或字符串变量加载源并分析或更改语法树,然后编译为var.

那么在这一点上我很困惑......所以:

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

谢谢



1> JoshVarty..:

所以看起来你有几个问题:

什么是罗斯林?

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

如果你正在使用VS2015,Roslyn已经完全取代了旧的编译器,据我所知你不能在VS 2015中使用旧的编译器.

Roslyn也是一个平台,允许您构建可以修改,解释和理解其他程序的程序.这并不意味着让你编写修改自己的代码(虽然这可能在某种程度上可能).

Roslyn的常见用例是:

    构建代码分析器,在Visual Studio中提供错误和警告.

    构建理解源代码的Visual Studio扩展.

    构建理解或运行源代码的其他工具.示例:ScriptCS - 使用C#代码编写脚本.

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

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

我可以替换编译器吗?

是的,你可以,但我不相信这是一个很好的想法,除了测试你想要回馈给Roslyn的变化.您可以从GitHub下载Roslyn并按照这些说明在Visual Studio中构建和运行Roslyn.

如果您按照这些说明操作,您将能够使用F5运行Roslyn项目.它将启动一个使用自定义编译器的Visual Studio的新实例.这就是微软以外的人们从现在开始为编译器贡献功能的方式.(以前您无法将自定义编译器部署到Visual Studio,但他们已在Visual Studio Update 1中修复了该编译器).



2> Jason Malino..:

罗斯林有两件事:

    一种API,可让您查看语法树和符号等"编译器".

    在#1上实现的新csc.exe.

如果要对编译器进行更改并使用它进行构建,请查看这些说明(如果尚未使用).您可以通过几种不同的方式制作自己的csc.exe版本,然后使用它来构建一些东西.但是没有像你正在寻找的"选择"对话框.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/GIT/detail/12649
推荐阅读
  • 如何解决《在Angular2中使用逗号作为列表分隔符》经验,为你挑选了2个好方法。angular2-template,angular,css,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,jso... [详细]

  • 如何解决《PortTensorFlow代码到Android》经验,为你挑选了1个好方法。deep-learning,tensorflow,python,android,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开... [详细]

  • 如何解决《如何在intellij中断开项目的git?》经验,为你挑选了2个好方法。git,intellij-idea,eclipse,svn,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,... [详细]

  • 如何解决《是否有可能在Haskell中筑巢?》经验,为你挑选了4个好方法。haskell,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,... [详细]

  • 如何解决《Algoliainstantsearch.js发生了缩小的异常;不变》经验,为你挑选了1个好方法。algolia,https,html,javascript,safari,chrome,git,go,DevBox,在线流程图,编程... [详细]

  • 如何解决《React/Redux服务器端呈现初始状态》经验,为你挑选了1个好方法。flux,reactjs,redux,服务器,容器,注入,https,git,json,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具... [详细]

  • 如何解决《我无法使用pip安装mysql-connector-python》经验,为你挑选了4个好方法。pip,pypi,mysql-connector-python,mysql,python,https,go,git,DevBox,在线流... [详细]

  • 如何解决《在基于buildout的Plone站点中使用非最新的gitcheckout》经验,为你挑选了1个好方法。git,plone,buildout,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二... [详细]

  • 如何解决《在Javascript中同时映射和过滤数组》经验,为你挑选了5个好方法。javascript,arrays,html,json,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解... [详细]

  • 如何解决《具有多种路由配置的akka​​-http》经验,为你挑选了1个好方法。scala,akka-http,html,https,git,go,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码... [详细]

  • 如何解决《启动具有多个网络接口的容器》经验,为你挑选了2个好方法。docker,docker-networking,容器,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,... [详细]

  • 如何解决《我可以在R时间变量中存储几分之一秒吗?》经验,为你挑选了1个好方法。r,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员... [详细]

  • 如何解决《gulplocal和CLI版本不匹配》经验,为你挑选了1个好方法。gulp,npm,jquery,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳... [详细]

  • 如何解决《如何在git中处理跟踪生成的文件?》经验,为你挑选了1个好方法。git,githooks,gulp,安全,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工... [详细]

  • 如何解决《GPUImage/usr/local/bin/appledoc:没有这样的文件或目录》经验,为你挑选了1个好方法。gpuimage,swift,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发... [详细]

  • 如何解决《找到版本号最高的标签》经验,为你挑选了1个好方法。git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具我想查看... [详细]

  • 如何解决《EXCEPTION:必须定义令牌!angular2》经验,为你挑选了1个好方法。angular-decorator,babeljs,ecmascript-7,angular,css,jquery,bootstrap,json,np... [详细]

  • 如何解决《查找包含较大字符串中给定字母集的最小子字符串》经验,为你挑选了0个好方法。javascript,regex,string,substring,vb,npm,go,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具... [详细]

  • 如何解决《gitflow与Cherry-picks》经验,为你挑选了1个好方法。git,workflow,css,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具... [详细]

  • 如何解决《未捕获错误:不变违规:元素类型无效:对象》经验,为你挑选了1个好方法。reactjs,react-router,react-router-component,react-routing,https,git,jquery,javas... [详细]

相关标签
  

闽ICP备14008679号