C# 为什么可以';我不能在类库中使用.dll中的对象吗?

C# 为什么可以';我不能在类库中使用.dll中的对象吗?,c#,class-library,C#,Class Library,刚刚创建了一个包含一些方法的.dll文件。我还有另外一个项目,其中有一个类库和客户端应用程序,它们相互引用,工作正常 问题是我引用了我刚在类库中创建的.dll,但不能使用.dll中可用的方法。(我可以在对象浏览器中看到它们,一切看起来都很好) 比如当我尝试时: Cache cache = new Cache("blabla"); 我得到: 我所做的引用.Cache'是一个名称空间,但其使用方式类似于'type' 但是当我在客户端应用程序(一个控制台应用程序)中添加引用时。这样我就不会有任何问题

刚刚创建了一个包含一些方法的.dll文件。我还有另外一个项目,其中有一个类库和客户端应用程序,它们相互引用,工作正常

问题是我引用了我刚在类库中创建的.dll,但不能使用.dll中可用的方法。(我可以在对象浏览器中看到它们,一切看起来都很好)

比如当我尝试时:

Cache cache = new Cache("blabla");
我得到:

我所做的引用.Cache'是一个名称空间,但其使用方式类似于'type'

但是当我在客户端应用程序(一个控制台应用程序)中添加引用时。这样我就不会有任何问题,并且可以轻松地使用这些方法。为什么在类库中给出我的问题


除非
缓存
被解释为类库中的命名空间,否则任何建议都没有理由这样做。在实例化时完全限定类:

var cache = new SomeNamespace.Cache();
或使用类的别名:

using MyCache = SomeNamespace.Cache;
...
var cache = new MyCache();

除非
Cache
被解释为类库中的名称空间,否则没有理由这样做。在实例化时完全限定类:

var cache = new SomeNamespace.Cache();
或使用类的别名:

using MyCache = SomeNamespace.Cache;
...
var cache = new MyCache();

这只是一个名称空间的命名冲突,该名称空间在作用域中,并且包含单词
Cache
,很可能在末尾(类似于
namespace MyCompany.MyNamespace.Cache{}

您需要在线完全限定类型或解开名称空间,并使用顶部的
语句使用

MyNamespace.Cache cache = new MyNamespace.Cache("");
尽量遵循以下步骤避免出现这种情况:

命名空间和类不要使用相同的名称。例如,做什么 不同时提供调试命名空间和调试类


这只是一个名称空间的命名冲突,该名称空间在作用域中,并且包含单词
Cache
,很可能在末尾(类似于
namespace MyCompany.MyNamespace.Cache{}

您需要在线完全限定类型或解开名称空间,并使用顶部的
语句使用

MyNamespace.Cache cache = new MyNamespace.Cache("");
尽量遵循以下步骤避免出现这种情况:

命名空间和类不要使用相同的名称。例如,做什么 不同时提供调试命名空间和调试类


尝试完全限定您的类型:
mydlassembly.Cache Cache=new mydlassembly.Cache()

尝试完全限定您的类型:
mydlassembly.Cache Cache=new mydlassembly.Cache()

可能是因为您的命名空间也被称为
缓存
,或者是因为您缺少使用
语句的
。使用更具体的标识符,例如
cache=new yourdlnamespace.cache()
,对其进行实例化。是否包含以
cache
结尾的命名空间?可能是因为命名空间也被称为
cache
,或者因为您缺少使用
语句的
。使用更具体的标识符,例如
cache=new yourdlnamespace.cache()
对其进行实例化。是否包括以
cache
结尾的命名空间?