2

我正在使用 msbuild 构建我的 C# VS 解决方案。我的第三方控件出错,需要用户交互才能构建。如果我将 Cruisecontrol 配置更改为使用 devenv 而不是 msbuild,我可能能够修复它。

我的问题是:如果我迁移到 devenv,输出二进制文件有什么不同吗?msbuild 和 devenv 是否都生成相同的二进制文件?用同样的优化?

4

2 回答 2

4

构建过程的执行方式显然存在差异,但最终,任何一种方法都会调用具有相同选项的相同 CSC C Sharp 编译器(在内存或 EXE 中)。自然,如果事情没有按照完全相同的顺序完成,任何事情都可能出错,尤其是在您使用并行构建时,但如果构建可靠地使用 DevEnv 完成并且可靠地完成了 MSBuild,那么您可能可以将它们视为等效。

于 2011-05-05T06:26:30.193 回答
2

没有区别,但我不建议你移动,因为 CCNet 中的 devenv.exe 是独立运行的,也不能通过这种方式进行用户交互。但是,devenv.exe 正在消耗更多的内存和用户资源,而 msbuild 更快并且与 CCNet 的集成更好。

我认为您应该探索这个控件的文档,可能它有一些必须初始化以允许跳过用户交互的构建变量?

于 2011-05-05T07:22:13.890 回答