无法访问错误:带有控制台应用程序的 NUnit

发布于 2024-10-03 15:45:29 字数 349 浏览 1 评论 0原文

我用 C# /VS2008 编写了一个控制台应用程序。因为我声明了多个类,但没有指定任何可访问性修饰符。就像

Namespace MyNamespace
{
    Class MyClass
    {
    ..

    }
}

现在一样,我添加了一个新的控制台应用程序用于测试目的。我添加了对 NUnit 框架 dll 的引用。然后是对我的主项目 dll 的引用。但是,当我尝试在 TestFixture 类中创建 MyClass 对象时,会收到类似“MyNamespace.MyClass 由于其保护级别而无法访问”的错误,

我是否需要将我的类创建为公共类?但如果我的项目负担不起怎么办?

I have written a console application in C# /VS2008. In that I have multiple classes declared without specifying any accessibility modifier. Like

Namespace MyNamespace
{
    Class MyClass
    {
    ..

    }
}

Now I added a new console application for testing purpose. I added reference to NUnit framework dll. And then a reference to my main project dll. But when I try to create an object of MyClass into my TestFixture class, then I get an error like "MyNamespace.MyClass is inaccessible due to its protection level"

Do I need to create my class as public? But what if my project cannot afford it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云胡 2024-10-10 15:45:30

如果您希望其他人可以访问该类,则该类必须是public程序集:

namespace MyNamespace
{
    public class MyClass
    {

    }
}

如果您的项目负担不起,您可以查看[InternalsVisibleTo] 属性。

The class needs to be public if you want it to be accessible from another assembly:

namespace MyNamespace
{
    public class MyClass
    {

    }
}

If your project cannot afford it you may take a look at [InternalsVisibleTo] attribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文