2013-07-12 65 views
0

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

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

  • PROJECT1
  • Project2的(参考PROJECT1)
  • 项目3(参考Project2中)

如果我在发布模式下构建这个版本,在Project3 \ bin \ Release目录中获得下一个版本:

  • PROJECT1(调试)
  • Project2的(释放)
  • 项目3(释放)

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

所以我假设,如果Project3不直接引用Project1,则比MSBuild使用Project1的调试版进行构建。你可以建议任何解决方案,除了引用所有不直接引用库?

回答

1

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

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

Solution and project configuration mismatch 参见:http://msdn.microsoft.com/en-us/library/vstudio/kkz9kefa.aspx

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

All debug related properties

如果一切都失败了,你有没有试着做一个干净的构建或命令行构建以验证至少该作品?

+0

配置管理器也可以:-(对于所有项目和解决方案配置,相同配置“发布”。全部检查构建复选框,所有平台也一样。 – user809808

相关问题