第一次尝试时构建失败然后通过

时间:2014-03-20 18:59:03

标签: c# .net visual-studio build

我有一个包含许多项目的解决方案,其中2个是WebserviceConsoleApplicationWebservice是解决方案中的启动项目。我的解决方案构建顺序如下

  1. 项目A
  2. 项目B
  3. ConsoleApplication
  4. web服务
  5. ProjectA和ProjectB在两个项目中都被引用。现在当我清理我的解决方案并尝试构建解决方案时,它第一次失败了。该错误来自ConsoleApplication项目中的类的构造函数,我在其中实例化ProjectA的XYZ类。错误是

    The type 'XYZ' is defined in an assembly that is not referenced. You must add a reference to assembly 'ProjectA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. ProjectPath\Program.cs

    然而,当我再次构建解决方案时,它会成功构建。任何人都可以帮助我理解这种行为。它对我的项目没有任何杀伤力,但我不想让Visual Studio决定何时做什么。我想知道这种行为的原因。

    此外,当我第一次构建解决方案时,我在ConsoleApplication的调试文件夹中看不到ProjectA或ProjectB的.dll。但是在第二次尝试时,这些dll在调试文件夹中可见,并且构建成功。

    有关如何解决此问题的任何建议吗?

2 个答案:

答案 0 :(得分:1)

通常这是构建订单问题...在您的解决方案上执行右键单击并转到构建订单。

然后设置正确的项目构建顺序。

Build Order

干杯

答案 1 :(得分:0)

听起来您没有设置项目依赖项。您必须正确设置构建依赖关系,即

  1. Web服务依赖于ProjectA和ProjectB
  2. 控制台应用程序依赖于ProjectA,ProjectB和Webservice
  3. 使控制台依赖于Web服务非常重要,因为只有这样才能保证在控制台应用程序之前构建Web服务。

    对于Visual Studio 2012,请右键单击您的解决方案>属性>项目依赖性>