首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Roslyn进行编译时源代码修改

使用Roslyn进行编译时源代码修改
EN

Stack Overflow用户
提问于 2012-04-26 15:07:06
回答 2查看 2.6K关注 0票数 23

是否可以在CI服务器上的MSBuild任务中使用Roslyn在编译前修改源代码?我已经成功地在VS中做了我想做的事情,但我想知道在VS之外是否有可能。目前我正在研究Workspace API和Compiler API,它们似乎是实现这一目标的正确工具,但我仍然不确定这是否可能?特别是,我关心的是如何将我对MSBuild所做的更改返回,以使其能够继续其工作。

EN

回答 2

Stack Overflow用户

发布于 2012-07-06 22:26:56

关于 Problem with using Roslyn in a MS Build Task上的问题,

代码语言:javascript
复制
  public class MyTask : Task

将任务更改为AppDomainIsolatedTask是一种快速修复方法。我没有msdn帐号,所以我就把它贴在这里。希望能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2012-04-26 20:11:44

我个人还不能测试这个(所以如果你愿意,把这个“答案”当作一个评论),但是阅读关于Roslyn的东西,特别是this博客条目,它看起来应该是possible (寻找“重写”段落)。

显然,您可以从源代码构建语法树(我想对于编译器来说并不太奇怪),然后使用API对其进行修改,最后将其写回字符串/文件或其他任何内容。

另请参阅概念上关于Roslyn语法树的MSDN,以及关于“语法转换”的walkthrough

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10328700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档