【问题标题】:Why is the build failing in Visual Studio because it cannot resolve namespaces from referenced assemblies?为什么在 Visual Studio 中构建失败,因为它无法从引用的程序集中解析命名空间?
【发布时间】:2011-07-26 21:03:19
【问题描述】:

我有 3 个类库项目。我们称它们为 A、B 和 C。我已将 A 和 B 的 project reference 添加到项目 C 中。

A 和 B 正在构建,没有任何错误或警告。

C 项目的代码(类文件)使用 A 和 B 的公共类。当我在 C 中添加项目引用并查看 C 项目中的类文件(在构建项目 C 之前)时,我可以清楚地看到 A 和 B 中的所有类和命名空间都已解析。 当我将鼠标悬停在类名(A 或 B 中的类)上时,它也会显示它的正确命名空间。

我在两个项目引用上都将Copy Local 属性设置为True

然而,

  1. 当我运行 Rebuild All(或在项目 C 上构建)时,构建失败,因为它无法解析命名空间!我可以进一步检查什么以确保一切正常?
  2. 我从来没有发现A & B 的程序集被复制到项目C 的bin\debug 文件夹中。为什么它没有复制引用? (我已经看到了几个关于这个问题的问题,但提供给他们的解决方案都没有为我工作)

【问题讨论】:

    标签: .net visual-studio visual-studio-2010 assemblies project-reference


    【解决方案1】:

    问题解决了。问题是项目 C 的目标是“.NET 4 Client profile”框架,而 A、B 的目标是“.NET 4”框架。当我更改 C 的目标框架时,一切都构建成功。

    “注册用户”发布到this question 的答案对我有帮助。

    【讨论】:

    • 太好了,现在我不必写完那个答案了。 :-)
    • @Cody Gray:感谢您花时间查看问题并编辑问题!
    【解决方案2】:

    检查每个项目是否使用相同的目标框架。例如,如果其中一个项目使用 .Net Framework 4 Client Profile 而其余项目使用 .Net Framework 4(不是 Client Profile),您可能会遇到这种错误

    【讨论】:

    • 在我的例子中,一个 v4.5.1 项目试图引用一个 v4.5.2 并且无法构建。
    猜你喜欢
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 2020-02-19
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2021-01-04
    相关资源
    最近更新 更多