引用已添加,但无法识别名称空间

mar*_*yam 11 c# namespaces

我在我的项目中添加了一个DLL.DLL包含命名空间test.security.现在,test.security无法识别.为什么是这样?

我在其他项目中使用此DLL,我没有其他问题.

Mat*_*ott 19

您是否将客户端配置文件用作项目目标?考虑这种情况:

项目A - >项目目标是.NET Framework 4.0

项目B - >项目目标.NET Framework 4.0客户端配置文件

项目A项目B引用.在命名空间项目A中无法识别项目B.

如果场景匹配,这是由于目标不匹配.Client Profile支持完整框架的BCL的子集.如果程序集依赖于使用完整框架(例如需要类型System.Web等),那么它将不能用于仅支持客户端配置文件的组件.

轻松解决方案,将Project B更改为.NET Framework 4.0(而非Client Profile).


Mar*_*ell 13

它往往取决于什么是该命名空间; 例如,如果没有任何内容,则命名空间实际上不存在.

您也可能缺少一些其他依赖项,这意味着编译器不能使用(直到添加引用)该命名空间中的任何类型(例如,如果该命名空间中的类型都依赖于某些类型来自Another.dll,你还没有引用Another.dll).

很可能你已经引用了错误版本的DLL,而你引用的版本不具有命名空间.

编译器可能已经告诉您有关引用问题的信息,这意味着它无法使用它 - 请查看错误/警告列表.例如,它可能是物理上缺少的文件,或.NET版本不匹配,或强命名问题,这意味着它无法使用该引用.

  • 就我而言,我的班级根本没有公共访问修饰符。 (2认同)

小智 5

1.删​​除引用并再次添加2.关闭解决方案并重新打开它3.创建一个新解决方案并在其中添加所有旧解决方案