【问题标题】:Visual Studio 2008 Building Solution IssuesVisual Studio 2008 构建解决方案问题
【发布时间】:2014-08-12 21:13:42
【问题描述】:

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

该解决方案有 30 多个项目 (dll) 相互引用。我们甚至将一些项目也分成了 N 层(一层用于数据访问,另一层用于业务逻辑,等等)。

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

“类型‘XXXX’未定义。

在做了一些“干净”+几个“构建”之后,我们能够获得二进制文件。

有人知道问题是什么以及如何解决吗?

【问题讨论】:

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


    【解决方案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 中找到很多好工具。

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

    【讨论】:

    • 谢谢你,cad,我已经按照你的建议使用了 NDepend,我们已经能够找到错误的依赖项。
    【解决方案2】:

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

    首先弄清楚哪些项目依赖于其他项目。不依赖任何东西的应该排在最前面,依赖其他的应该排在下面。

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

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

    【讨论】:

    • 谢谢Pradeep Kumar,你的回答和Cad的一样好,我已经标记了他,因为我已经用他的方法解决了。
    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多