在 devenv 和 msbuild 中使用 CruiseControl.net 时输出二进制文件的任何差异
我正在使用 msbuild 构建我的 C# VS 解决方案。我遇到了第三方控件的错误,该控件需要用户交互才能构建。如果我将 Cruisecontrol 配置更改为使用 devenv 而不是 msbuild,我也许能够修复它。
我的问题是:如果我迁移到 devenv,输出二进制文件有什么不同吗? msbuild 和 devenv 是否生成相同的二进制文件?有同样的优化吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
构建过程的执行方式存在明显差异,但最终两种方法都会调用具有相同选项的相同 CSC C Sharp 编译器(在内存或 EXE 中)。当然,如果事情没有按照完全相同的顺序完成,那么任何事情都可能会出错,特别是如果您使用并行构建,但如果使用 DevEnv 可靠地完成构建并使用 MSBuild 可靠地完成构建,那么您可能可以接受它们作为等效项。
There are obviously differences in the way that the build process gets executed, but ultimately the same CSC C Sharp Compiler (in memory or EXE) with the same options is invoked by either method. Naturally, anything can go wrong if things are not done in exactly the same order, especially if you are using parallel builds, but if the build reliably completes with DevEnv and reliably completes with MSBuild, then you can probably accept them as equivalent.
没有区别,但我不建议您移动,因为 CCNet 内的 devenv.exe 是独立运行的,并且也无法通过这种方式完成用户交互。但是,devenv.exe 占用了更多内存和用户资源,而 msbuild 速度更快并且与 CCNet 集成得更好。
我认为您应该探索该控件的文档,可能它有一些必须初始化以允许跳过用户交互的构建变量?
No differences, but I don't recommend you to move, because devenv.exe within CCNet is running independently, and no user interaction can be done this way either. But, devenv.exe is eating more memory and user resources, while msbuild is faster and integrates with CCNet much better.
I think you should explore this control's documentation, probably it has some build variables which must be initialized to allow skip user interaction?