Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的类库无法';当我想从另一个项目中使用它时,找不到它_C#_Class_Class Library - Fatal编程技术网

C# 我的类库无法';当我想从另一个项目中使用它时,找不到它

C# 我的类库无法';当我想从另一个项目中使用它时,找不到它,c#,class,class-library,C#,Class,Class Library,我有一个类库,我想用它作为其他项目的参考。但是,当我试图在这个库中创建一个公共类的实例时,我无法构建这个项目。它说,找不到类型或命名空间ClassLibName。(是否缺少using指令或程序集引用?)。我检查了引用并再次添加它。我也添加了名称空间。关于这个问题,您有什么建议吗?您正试图实例化internal类吗?这是默认设置: // These are equivalent (for a top-level class) class Foo internal class Foo // Thi

我有一个类库,我想用它作为其他项目的参考。但是,当我试图在这个库中创建一个公共类的实例时,我无法构建这个项目。它说,找不到类型或命名空间ClassLibName。(是否缺少using指令或程序集引用?)。我检查了引用并再次添加它。我也添加了名称空间。关于这个问题,您有什么建议吗?

您正试图实例化
internal
类吗?这是默认设置:

// These are equivalent (for a top-level class)
class Foo
internal class Foo

// This is what you need
public class Foo

如果您去掉了实例化类的代码,但保留了命名空间和对程序集的引用的
using
指令,那么它会编译吗?如果是这样的话,这表明这确实是特定类的问题,而不是您如何引用库的问题。

确保您试图创建的类的实例在类库中声明为public

namespace ClassLibName 
{
    public class SomeClass
    {
        ...
    }
}
然后在客户机项目中添加程序集作为引用,然后

using ClassLibName;

...

SomeClass instance = new SomeClass();

缺少using指令,或者没有在项目中添加对程序集的引用,或者两者都缺少

在解决方案资源管理器中,右键单击引用,单击添加引用,转到浏览,选择其他项目的已编译dll

例如,如果您的类位于命名空间
Hello.World
中,则还应添加

using Hello.World;

在文件开头。

可能您的库是使用比您的项目更高版本的框架构建的


如果是这样的话,如果可能的话,你必须升级你的项目来构建它。。。或者降低图书馆的等级

我的类库和其他项目有不同的目标框架。我将它们设置为.NETFramework4,问题就解决了。谢谢您的帮助。

@cagin,那么您在实例化它们时不会遇到任何问题。您是否使用向命名空间中添加了一个
,在命名空间中定义了类,如我的答案所示?@cagin:好的,那么我的答案的后半部分中的问题呢?您的命名空间在
using
指令中是否绝对正确?是的,我将命名空间添加到using中block@cagin:如果你一次只回答我问题的一部分,这将使这一过程变得更长。。。如果您保留
using
指令,但删除了尝试使用实际类的行,它是否编译?我这样做了,但结果相同。您能否提供一点代码来提供上下文?如果没有这样的背景,下面的两个答案对于你提出的问题都是正确的。我认为你应该接受一个有帮助的解决方案,而不是回答你自己的问题