在CI服务器上的MSBuild任务中使用Roslyn编译之前是否可以修改源代码?我已经成功地做了我想要的VS,但是我想知道VS之外是否有可能。目前我正在研究Workspace API和编译器API,他们似乎是实现这一目标的正确工具,但我仍然不确定是否有可能?特别是我担心我将MSBuild所做的更改返回给它,让它继续工作。使用Roslyn编译时源代码修改
回答
这绝对是我们正在考虑的情景。今天有几个问题使其有点困难:
- 您不能使用Workspace API加载项目/解决方案,因为您已经在msbuild中。
- 要使用常规编译器API,您需要自己构建一个编译,这可以是一大堆工作。
未来,我们希望提供一个“从csc/vbc命令行字符串创建工作空间”,这将使这更容易。
看一下Hooking into the compiler (csc.exe or vbc.exe) itself和Problem with using Roslyn in a MS Build Task对于此前的一些讨论。
谢谢Kevin Kevin期待您的团队拥有新的Roslyn功能! – 2012-04-26 20:15:03
我知道这是从2012年起。有没有关于这方面的消息?现在有一个简单的方法吗? – riki 2016-10-24 19:23:50
关于对 Problem with using Roslyn in a MS Build Task问题,
public class MyTask : Task
改变任务以AppDomainIsolatedTask是速战速决。我没有msdn帐户,所以我只是在这里发布它。希望它可以帮助。
- 1. 如何使用Roslyn修改源代码?
- 2. Roslyn CTP - 随机代码修改
- 3. 使用资源修改自动编译
- 4. 库用于解析/修改C#源代码(和之后编译)
- 5. 无法从源代码编译未修改的Android
- 6. 在编译之前修改Gradle构建的Groovy源代码
- 7. 使用Roslyn调试动态编译代码
- 8. 如何使用JDT修改源代码?
- 9. Webpack编译忽略源代码更改
- 10. 使用从源代码编译的SharpDX?
- 11. 如何在附加源代码时修改源代码
- 12. 反编译预编译源代码ASP.NET
- 13. 在ubuntu中编译/编译源代码
- 14. 修改OpenCV源代码
- 15. 修改源代码hadoop
- 16. 修改/编译开源项目源代码的最佳方法是什么?
- 17. 编译android源代码
- 18. nginx从源代码编译
- 19. SML编译器源代码?
- 20. 使用Roslyn编译语法树
- 21. 反编译代码更改代码
- 22. Cuda Source使用Rose编译器进行源代码翻译
- 23. 如何编译和使用修改后的ejabberd源文件
- 24. 我修改了GTK源代码并重新编译:没有效果
- 25. Gnuplot开发 - 如何修改源代码并在Windows 7上编译
- 26. 如何在不编译代码的情况下修改全局资源DLL?
- 27. Roslyn - CodeDom:HowTo动态编译代码到Universal-Windows-Library
- 28. 更改Roslyn的部分源代码中的背景颜色
- 29. 使用mxmlc(Ant)构建swf - 代码编译时代码未更改
- 30. 修改Roslyn的方法体
好问题,最近我一直在想这类东西。 – 2012-04-26 07:49:57