【问题标题】:Any difference in output binaries when using CruiseControl.net in devenv and msbuild在 devenv 和 msbuild 中使用 CruiseControl.net 时输出二进制文件的任何差异
【发布时间】:2011-05-05 05:58:50
【问题描述】:
我正在使用 msbuild 来构建我的 C# VS 解决方案。我的第三方控件出现错误,需要用户交互才能构建。如果我将 Cruisecontrol 配置更改为使用 devenv 而不是 msbuild,我可能能够修复它。
我的问题是:如果我迁移到 devenv,输出二进制文件有什么不同吗?
msbuild 和 devenv 是否都生成相同的二进制文件?用同样的优化?
【问题讨论】:
标签:
c#
visual-studio-2008
msbuild
cruisecontrol.net
devenv
【解决方案1】:
构建过程的执行方式明显不同,但最终,任何一种方法都会调用具有相同选项的相同 CSC C Sharp 编译器(在内存或 EXE 中)。当然,如果事情没有按照完全相同的顺序完成,任何事情都可能出错,尤其是在您使用并行构建时,但如果构建可靠地使用 DevEnv 完成并且可靠地完成了 MSBuild,那么您可能可以接受它们为等效的。
【解决方案2】:
没有区别,但我不建议你移动,因为 CCNet 中的 devenv.exe 是独立运行的,这样也无法进行用户交互。但是,devenv.exe 正在消耗更多的内存和用户资源,而 msbuild 更快并且与 CCNet 的集成更好。
我认为你应该探索这个控件的文档,可能它有一些必须初始化以允许跳过用户交互的构建变量?