33

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

  • 图书馆 A
  • 控制台应用程序 1

ConsoleApp 1 引用库 A 的地方。如果我更改库 A 中的类中方法的签名并运行 ConsoleApp 1,则会出现编译器错误,因为 ConsoleApp 1 没有看到我的更改,因为运行 ConsoleApp 1 不会导致库 A建造。

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

我可以有一些配置不正确吗?或者这是VS2012中的一个错误?

4

8 回答 8

51

你的症状听起来和我不久前经历的很相似。确保将项目设置为使用您当前的active解决方案configuration和活动解决方案平台在Build->Configuration Manager.

于 2012-06-16T15:37:24.713 回答
19

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

于 2012-06-16T15:14:51.823 回答
19

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

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

于 2012-11-26T18:51:37.533 回答
8

我尝试了上述所有解决方案,但并没有解决我的问题。我发现这是因为Active configurationConfigurationManager被设置为只构建主(启动)项目。

前往Build>ConfigurationManager

确保检查您要构建的所有项目,如下面的屏幕截图所示。这是 Asp.Net 论坛上的类似问题,这是MSDN上的详细信息 。虽然很奇怪,但因为我从未更改过这些设置,上周它工作正常 在此处输入图像描述

于 2013-05-06T22:47:14.583 回答
6

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

Visual Studio 2012 选项

于 2013-09-30T12:00:10.820 回答
2

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

在此处输入图像描述

于 2016-09-21T23:50:24.860 回答
1

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

于 2014-09-22T15:54:47.157 回答
0

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

于 2013-09-30T19:13:57.520 回答