Search code examples
c#console-applicationnunit-2.5

Inaccessibility error : NUnit with console application


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?


Solution

  • 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.