【问题标题】:Visual Studio 2012 use debug libraries instead of release during buildVisual Studio 2012 在构建期间使用调试库而不是发布
【发布时间】:2013-07-11 04:21:23
【问题描述】:

我有一个包含 100 个项目的大型解决方案(主要是类库)。我在构建发布版本时发现了一个奇怪的行为。 在构建发布版本后,我在 bin/Release 文件夹中获得了一些库的调试版本。对于许多库,我得到了正确的发布版本,但对于一些库,我只得到了调试(日期时间不同,调试代码存在于反射器中)。 我检查了所有项目属性,没有问题,项目之间也没有差异。 我需要做什么来改变 Visual Studio 的这种行为?

更新: 例如,让我的解决方案包含三个项目:

  • 项目1
  • Project2(参考Project1)
  • Project3(参考 Project2)

如果我在发布模式下构建它,我会进入 Project3\bin\Release 目录下一个构建:

  • Project1(调试)
  • Project2(发布)
  • Project3(发布)

但是!在 Project1\bin\Release 中有一个 RELEASE 版本。

所以我假设,如果 Project3 不直接引用 Project1,那么 MSBuild 将使用 Project1 的调试版本进行构建。除了引用所有未直接引用的库之外,您能否提出任何解决方案?

【问题讨论】:

    标签: .net visual-studio msbuild


    【解决方案1】:

    检查配置屏幕以查看您的解决方案“发布”配置是否配置为为多个项目构建一些“调试”配置。

    正如您在此屏幕截图中看到的那样,两个级别的配置不必相同。

    见:http://msdn.microsoft.com/en-us/library/vstudio/kkz9kefa.aspx

    我怀疑您已经检查了所有这些属性,但可能错过了一些选项?

    如果所有其他方法都失败了,您是否尝试过进行干净构建或从命令行构建以验证至少可以正常工作?

    【讨论】:

    • 配置管理器也可以 :-( 所有项目和解决方案配置的相同配置“发布”。构建复选框已选中,平台也相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多