我有一个包含许多项目的解决方案,其中2个是Webservice
和ConsoleApplication
。 Webservice
是解决方案中的启动项目。我的解决方案构建顺序如下
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在调试文件夹中可见,并且构建成功。
有关如何解决此问题的任何建议吗?
答案 0 :(得分:1)
通常这是构建订单问题...在您的解决方案上执行右键单击并转到构建订单。
然后设置正确的项目构建顺序。
干杯
答案 1 :(得分:0)
听起来您没有设置项目依赖项。您必须正确设置构建依赖关系,即
使控制台依赖于Web服务非常重要,因为只有这样才能保证在控制台应用程序之前构建Web服务。
对于Visual Studio 2012,请右键单击您的解决方案>属性>项目依赖性>