【问题标题】:The type "x" is defined in an assembly that is not referenced. VS 2010 C#类型“x”在未引用的程序集中定义。 VS 2010 C#
【发布时间】:2010-08-03 23:31:45
【问题描述】:

我遇到了一个我无法解决的问题,想要一些意见。

我正在使用 C# 中的 Visual Studio 2010、.net 4.0 Framework 中的多个类库。我有一个类库项目,它引用了另一个 Visual Studio 解决方案的程序集输出(.dll 文件)。引用已正确添加到类库项目(正确的路径、版本等)。编译器在设计时知道所有依赖于引用程序集的类型(没有红色波浪线)。

但是,当我尝试构建项目时,出现以下错误:

类型“x”在未引用的程序集中定义。您必须添加对程序集“MyAssembly, Version=1.0.1.1, Culture=neutral, PublicKeyToken=null”的引用。

注意:上面的类型名称替换为 x。

就好像引用没有被添加,但它已经添加了。 有没有其他人遇到过类似的问题并找到了解决方法?

非常感谢, 安德鲁

【问题讨论】:

    标签: c# .net visual-studio-2010 dll reference


    【解决方案1】:

    这很奇怪,但它应该与版本无关,即它也适用于 VS 2005 和 VS 2008。

    1. 只需进行一些基本测试,如果您访问生成库文件 .dll 文件的解决方案,然后确定解决方案的范围并了解其中的一些成员。
    2. 然后在自己选择的项目中,右键项目,点击添加引用。
    3. 浏览到 .dll 的转储位置,在 bin 文件夹下,然后单击确定添加。
    4. VS 通常会显示一些简短的动画来显示其添加的内容。
    5. 保存。
    6. 如果需要,在库的命名空间中的范围内,当在赋值语句中的 '=' 后按 Tab 时,VS 会自动选择它。
    7. 在示例类文件中,实例化仅在您刚刚添加的 .dll 文件中找到的其中一些类型。 VS studio 将开始像往常一样标记关键字等,这意味着引用正在工作,因为智能感知正在接受新类型。
    8. 实例化在 .dll 中找到的类型或类后,使用“.”测试实例符号并查看智能感知从附加到类文件的元数据中拉回哪些信息。
    9. 您应该会发现所有相关数据成员都将填充被探测的类型。

    我刚刚在 5 分钟前进行了测试,以确保在 VS 2008 Pro Edition 中使用 .Net 3.5 和 C#。没问题的朋友!!!

    只需尝试按照他们的步骤进行操作,然后在测试它们之前进行故障排除,然后当我测试它们时它们仍然可以正常工作:p。

    【讨论】:

      猜你喜欢
      • 2016-10-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 2011-08-16
      • 2014-08-15
      • 2016-05-01
      • 2018-01-10
      相关资源
      最近更新 更多