繁体   English   中英

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

[英]The type “x” is defined in an assembly that is not referenced. VS 2010 C#

我有一个我无法解决的问题,想要一些输入。

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

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

类型'x'是在未引用的程序集中定义的。 您必须添加对程序集“ MyAssembly,版本= 1.0.1.1,区域性=中性,PublicKeyToken =空”的引用。

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

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

非常感谢,安德鲁

那是一个很奇怪的问题,但是它对于版本是不可知的,即它也适用于VS 2005和VS 2008。

  1. 如果要访问生成库文件(.dll文件)的解决方案,请进行一些基本测试,然后确定解决方案的范围,并对其某些成员有所帮助。
  2. 然后在您自己选择的项目中,右键单击该项目,然后单击添加引用。
  3. 浏览到bin文件夹下.dll的转储位置,然后单击“确定”添加。
  4. VS通常会显示一些breif动画,以显示其添加的内容。
  5. 救。
  6. 如果需要,可以在库的名称空间中使用范围,当在赋值语句中的“ =”之后按Tab键时,VS会自动选择它。
  7. 在示例类文件中,实例化仅在刚刚添加的.dll文件中找到的某些类型。 VS studio将像正常一样开始标记关键字等,这意味着该参考正在运行,因为intellisense正在选择新类型。
  8. 实例化.dll中找到的类型或类后,请使用'。'测试实例。 表示法,并查看intellisense从已分配到类文件的元数据中提取了哪些信息。
  9. 您应该找到所有相关的数据成员将填充所探测的类型。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM