类型“x”在未引用的程序集中定义。 VS 2010 C#

时间:2010-08-03 23:31:46

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

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

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

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

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

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

好像没有添加引用,但它有。 有没有其他人遇到类似的问题,并发现了一个解决方法?

非常感谢, 安德鲁

1 个答案:

答案 0 :(得分:0)

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

  1. 只是做一些基本的测试,如果您访问生成库文件的解决方案,.dll文件,然后确定解决方案的范围,并对其成员有一定的了解。
  2. 然后在您自己选择的项目中,右键单击该项目并单击添加引用。
  3. 浏览到.dll被转储到的位置,在bin文件夹下,然后单击o.k进行添加。
  4. VS通常会显示一些显示添加内容的breif动画。
  5. 保存。
  6. 如果需要,
  7. 范围在库的命名空间中,VS会在赋值语句中的'='之后按Tab键自动选择它。
  8. 在示例类文件中,实例化一些仅在刚刚添加的.dll文件中找到的类型。 VS工作室将开始像正常一样标记关键字等,这意味着引用正在工作,因为intellisense正在接受新类型。
  9. 一旦您实例化了.dll中的类型或类,请使用“。”测试实例。符号,并查看intellisense从附加到类文件的元数据中撤回的信息。
  10. 您应该会发现所有相关数据成员都会填充被探测的类型。
  11. 我刚刚在5分钟前对此进行了测试,以确保在VS 2008 Pro Edition中使用.Net 3.5和C#。没有问题伴侣!!!

    尝试按照他们的步骤进行操作,然后在测试之前按照我的步骤进行操作,然后在我测试它们之后它们仍然工作正常:p。