VS10 从 Debug Build 生成 Release Build

Posted

技术标签:

【中文标题】VS10 从 Debug Build 生成 Release Build【英文标题】:VS10 Generate Release Build from Debug Build 【发布时间】:2011-11-30 09:05:33 【问题描述】:

我们这里有一个大型解决方案,有几十个项目。唯一维护的构建配置是调试。切换到发布时,我收到超过 300 条错误消息,主要是:

"Error The type or namespace name 'XXX' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) C:\TFS\...\SomeClass.cs"

还有一些

"Error Metadata file 'C:\TFS\...\some.dll' could not be found SomeProject"

有没有办法完全接受调试配置,并生成一个工作版本?最好是自动/基于脚本,由构建服务器为每个版本完成?大多数项目都是 C#,其中一两个是 C++ 或托管 C++(这些不会引发错误)。

【问题讨论】:

您是否检查过在配置管理器中是否为调试和发布配置检查了相同的项目? 【参考方案1】:

这些错误可能是因为没有在 Release 配置中构建所有项目?

通过配置管理器检查这一点,并查看是否选择了所有项目来构建发布配置。

您还可以创建新配置,然后选择要从中继承设置的配置。也许您可以通过这种方式创建调试配置的副本?

为了自动化构建,您始终可以结合使用 Powershell 和 MSBuild 来编写构建脚本。如果您有 Team Foundation Server,则可以使用 TFS 自动构建并将它们发布到指定位置。

【讨论】:

在配置管理器中检查的项目是相同的。唯一的区别实际上只是每个项目上的发布调试开关。我将尝试从调试中创建一个新配置,但这是否意味着我需要遍历所有项目并确保编译器设置设置正确? 不应该是发布不工作的原因。你能详细说明你得到的错误吗?您是否已经尝试过清理整个解决方案并重建? 深入观察 - 在我们的调试配置中,所有构建路径都已更改。这些都是错误的发布

以上是关于VS10 从 Debug Build 生成 Release Build的主要内容,如果未能解决你的问题,请参考以下文章

../../build/debug/codegen/libCodeGen.a(llvm-codegen.cc.o ):( data.rel.ro_ZTIN4llvm18ValueMapCallback

在 Debug 模式下工作正常 vs Build APK 不工作,Flutter

VS2013 + OpenCvSharp 图片中的红圈里面的东西是怎么添加进来的?谢谢

firebreath demo搭建

vs2010为啥总显示此项目已过期

opencv中release编译通过而debug编译不通过vs2013+opencv2.4.9