Visual Studio 2008构建解决方案问题

时间:2014-08-12 08:23:06

标签: vb.net winforms visual-studio-2008 build-process

我们有一个使用3.5框架开发的VB.NET Windows窗体解决方案。

该解决方案包含30多个项目(dll),这些项目从一个引用到另一个。我们甚至将一些项目分成N层(一个用于数据Access,另一个用于业务逻辑,等等)。

从一段时间以来,该解决方案无法正常运行。当我们启动Visual Studio(2008)时,它会显示数百个错误。绝大多数是:

"输入' XXXX'没有定义。

做了一些"清洁" +几个" build"我们能够得到二进制文件。

任何人都知道问题是什么以及如何解决?

2 个答案:

答案 0 :(得分:1)

您的依赖项存在问题,可能是错误的订单或循环引用。例如,这可能是您遇到的情景之一:

  • 项目A取决于项目B
  • 项目B依赖于项目C
  • 项目C绝对不依赖。

您按照A,B,C顺序构建所有项目。第一次构建A,B失败但C工作。第二次A失败,但B,C起作用。第三次尝试A,B,C有效。

理论上,Visual Studio应该计算出正确的顺序......但是如果你有未使用的依赖项或循环引用它就会失败。

  

您必须查看并清除您的依赖项。您可以使用    nDepend http://ndepend.com)或类似工具(Resharper,VS2010 Ultimate中的Architecture Explorer等)制作依赖关系图,然后使用它来清理依赖关系。您可以   在此SO question找到了很多好工具。

一旦您查看并清理了依赖项,它将在第一次尝试时构建。

答案 1 :(得分:1)

您只需要更正项目构建顺序。

首先确定哪些项目取决于其他项目。那些不依赖于任何东西的东西应该放在列表的顶部,那些依赖于其他东西的东西应该按顺序排在下面。

然后右键单击您的解决方案,并从弹出菜单中选择Project Build Order...

enter image description here

将出现以下对话框。按正确顺序设置项目构建顺序。使用Dependencies选项卡正确指定依赖项。 enter image description here