我们有一个使用3.5框架开发的VB.NET Windows窗体解决方案。
该解决方案包含30多个项目(dll),这些项目从一个引用到另一个。我们甚至将一些项目分成N层(一个用于数据Access,另一个用于业务逻辑,等等)。
从一段时间以来,该解决方案无法正常运行。当我们启动Visual Studio(2008)时,它会显示数百个错误。绝大多数是:
"输入' XXXX'没有定义。
做了一些"清洁" +几个" build"我们能够得到二进制文件。
任何人都知道问题是什么以及如何解决?
答案 0 :(得分:1)
您的依赖项存在问题,可能是错误的订单或循环引用。例如,这可能是您遇到的情景之一:
您按照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...
。
将出现以下对话框。按正确顺序设置项目构建顺序。使用Dependencies
选项卡正确指定依赖项。