如何在Visual Studio中使用更改的Roslyn

Raw*_*ing 5 c# visual-studio roslyn

C#对我来说还不够,所以我利用新开源的Roslyn来扩展它,比如通过修改它来使用法语引号.

但我不想在命令行上构建我新发布的法语文件!我想要Intellisense!我想要一个漂亮的UI!简而言之,我想让Visual Studio使用我的 Roslyn,而不是微软的.

我可以这样做吗?如果是这样,怎么样

Ada*_*rth 5

在您的问题中直接从此链接引用:

高级用法

也可以更新您的Visual Studio副本以使用您自己构建的Roslyn版本(例如,查看IDE如何对您的更改做出反应),但它有点复杂:

首先,您需要使用释放叉,而不是主叉.这是因为编译器代码随着反馈而不断变化,其中包括对Roslyn预览中非开放IDE位使用的API的更改,以便访问编译器信息(直到API被锁定为我们接近完成).当这些API发生变化时,两者之间的通信能力就会丧失.但是,释放分支准确地反映了Roslyn预览被捕捉时代码的状态,因此可以安全地用作此类事物的基线.(您可以通过选择"源代码"然后打开"浏览更改"下拉列表来查看Roslyn CodePlex网站上的分支 - 它被称为"releases\build-preview".)

要在Git中切换到这个fork,您需要从登记中的相应Git提示符执行以下两个命令:

Git fetch

Git结帐 - 跟踪原点/发布/构建预览

您的git存储库现在将具有releases/build-preview分支的内容.完成此操作后,您可以使用Git checkout master和git checkout releases/build-preview在分支之间来回切换.(有关Git使用的详细信息超出了本博客的范围; 有关Git中分支的更多信息,请参阅 http://www.git-scm.com/book/en/Git-Branching-Remote-Branches.)

其次,您需要首先禁用Visual Studio的强名称程序集检查相关程序集.有一个脚本可以帮助您,您可以在Src/Tools/Microsoft.CodeAnalysis.Toolset.Open/Scripts/Prepare.bat中查找源代码.

完成所有这些后,进行更改.然后,在构建之后,确保将CompilerPackage设置为启动项目,然后使用F5/Ctrl + F5启动包含更改的VS实例.

请注意,我们永远不会接受发布分支的拉取请求 - 我们需要保持原始状态并准确反映相对于Roslyn预览位的代码状态.您实际想要提交的任何内容都需要首先移植到从主服务器创建的分支中.

有趣的时间未来.虽然我对在一家公司中发现自己有一定的担忧,他们使用一个完全自定义的编译器来做可怕的,可怕的事情.刚刚升级后用枪射击自己的枪...

  • 我要赞成这一点,接受它,然后羞于躲藏起来.(我同意枪支.我要尝试的实际变化是切换所有关键词,只是为了咯咯笑.) (3认同)