0

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

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

  • 项目1
  • 项目 2(参考项目 1)
  • 项目 3(参考项目 2)

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

  • 项目 1(调试)
  • 项目 2(发布)
  • 项目 3(发布)

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

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

4

1 回答 1

1

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

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

解决方案和项目配置不匹配 请参阅:http: //msdn.microsoft.com/en-us/library/vstudio/kkz9kefa.aspx

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

所有调试相关的属性

如果所有其他方法都失败了,您是否尝试过进行清洁构建或从命令行构建以验证至少是否有效?

于 2013-07-12T16:01:10.897 回答