我有一个包含100个项目的大解决方案(主要是类库)。我在构建发布版本时发现了一个奇怪的行为。 在构建发布版本后,我在bin / Release文件夹中获得了一些我的库的调试版本。对于许多库,我得到了正确的发布版本,但对于一些我只得到调试(DateTime不同,调试代码存在于Reflector中)。 我检查了所有项目属性,没有问题,项目之间没有差异。 我需要做些什么来改变Visual Studio的这种行为?
更新 例如,让我的解决方案包含三个项目:
如果我在发布模式下构建它,我会进入Project3 \ bin \ Release目录下一次构建:
但是!在Project1 \ bin \ Release中有一个RELEASE构建。
所以我假设,如果Project3不直接引用Project1,那么MSBuild使用Project1的调试版本进行构建。你可以建议任何解决方案,除了引用所有未引用的直接库?
答案 0 :(得分:1)
检查“配置”屏幕,查看是否将解决方案“发布”配置配置为为多个项目构建一些“调试”配置。
正如您在此屏幕截图中所看到的,它们不必为两个级别配置相同。
请参阅:http://msdn.microsoft.com/en-us/library/vstudio/kkz9kefa.aspx
我怀疑你已经检查了所有这些属性,但可能错过了一些选项?
如果所有其他方法都失败了,您是否尝试过从命令行执行Clean构建或构建以验证至少是否有效?