Visual Studio 2012不构建依赖项目

时间:2012-06-16 14:39:51

标签: c# ide visual-studio-2012

我刚刚将一个VS2010项目升级到VS2012,现在我遇到的问题是依赖项目没有按需构建。例如,假设我的解决方案中有以下项目:

  • 图书馆A
  • ConsoleApp 1

ConsoleApp 1引用库A.如果我在库A中的类中更改方法的签名并运行ConsoleApp 1,则由于ConsoleApp 1没有看到我的更改而导致编译器错误,因为运行ConsoleApp 1不会导致图书馆A打造。

如果我手动构建库A,然后手动构建ConsoleApp 1,它可以正常工作。但是,我希望运行ConsoleApp 1会导致在启动之前重建任何依赖项目。

我可以错误地配置某些内容吗?或者这是VS2012中的错误吗?

8 个答案:

答案 0 :(得分:50)

您的症状听起来与those I experienced a while ago非常相似。确保将项目设置为使用当前active解决方案configuration以及Build->Configuration Manager下的有效解决方案平台进行构建。

答案 1 :(得分:19)

当解决方案的.suo文件被锁定且Visual Studio无法再写入时,会发生这种情况。此问题的另一个症状是,当您打开它时,您将看到在解决方案旁边创建临时suo文件。尝试关闭Visual Studio并删除工作区中的所有* .suo文件。然后重新打开Visual Studio并重建所有。无需手动重建您的解决方案。这将解决问题,因为它是由锁定的.suo引起的,正如我今天的一位同事所发生的那样。

在他的情况下,原因似乎是他在Visual Studio仍处于打开状态时关闭了他的笔记本电脑。也许关闭Windows并没有完全干净?我们只能推测.suo最初是如何被锁定的。

答案 2 :(得分:18)

尝试删除项目references并重新添加它们(要遵循的路径:References ->(右键单击)Add reference -> Solution -> Project)。在再次尝试Save All之前。这就是我解决它的方法。

答案 3 :(得分:7)

我尝试了上面的所有解决方案,并没有为我解决问题。我发现这是因为Active configuration中的ConfigurationManager被设置为仅构建Main(启动)项目。

转到Build> ConfigurationManager

确保检查要构建的所有项目,如下面的屏幕截图所示 这是关于Asp.Net论坛here的类似问题,这是关于MSDN的详细信息 。虽然它是经过考验的,但是我从来没有改变这些设置,而且上周工作正常 enter image description here

答案 4 :(得分:6)

我遇到了类似的问题,解决方案(或者是probelem)是Build and Run下的Tools > Options... > Projects and Solutions > Build and Run设置,其中“仅运行构建启动项目和依赖关系”。屏幕截图显示了我目前正在使用的解决方案。

Visual Studio 2012 Options

答案 5 :(得分:2)

对我来说,我通过右键单击项目来解决问题;构建依赖关系>项目依赖性。然后手动设置每个项目的顺序。如果你有很多项目,那将非常痛苦。

enter image description here

答案 6 :(得分:0)

在解决方案资源管理器中右键单击解决方案,然后单击"清洁解决方案"。

答案 7 :(得分:0)

确保引用项目具有与引用项目相同或更高的.Net框架版本。