在devenv和msbuild中使用CruiseControl.net时输出二进制文件的任何差异

时间:2011-05-05 05:58:51

标签: c# visual-studio-2008 msbuild cruisecontrol.net devenv

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

我的问题是:如果我转到devenv,输出二进制文件是否有任何区别? msbuild和devenv都生成相同的二进制文件吗?有了相同的优化吗?

2 个答案:

答案 0 :(得分:4)

构建过程的执行方式明显不同,但最终使用相同选项调用相同选项的CSC C Sharp编译器(内存或EXE)。当然,如果事情没有以完全相同的顺序完成,任何事情都可能出错,特别是如果您使用的是并行构建,但如果构建使用DevEnv可靠地完成并可靠地完成MSBuild,那么您可以接受它们作为等效的。

答案 1 :(得分:2)

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

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