如何使用命名空间在visual studio中使用主项目和子项目

Ent*_*ize 1 c# visual-studio

我不熟悉命名空间,无法在Visual Studio 2017社区中使用它.我用空项目创建了一个解决方案,我在该项目中添加了一个类文件:

namespace MainProject
{
   class MainClass
   {
      //some methods
   }
}
Run Code Online (Sandbox Code Playgroud)

然后我在解决方案中添加了一个空项目,并添加了一个类文件:

namespace MainProject.SubProject
{
   class SubClass
   {
      MainClass var;
      public SubClass()
      {
         var=new MainClass();
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

解决方案结构是这样的:

Solution
|
|__MainProject
|  |__MainClass.cs
|
|__SubProject
   |__SubClass.cs
Run Code Online (Sandbox Code Playgroud)

但我收到错误:错误CS0246:The type or namespace name 'MainClass' could not be found 我不明白我错过了什么.

Joh*_*ica 5

您似乎有两个问题(除非您已经掩盖了从SubProject引用MainProject).

1)internal默认情况下是类.为了让它被另一个项目看到,它需要有意地暴露给其他项目,或者更常见的是标记为public:

public class MainClass
{
    //some methods
}
Run Code Online (Sandbox Code Playgroud)

2)您尚未添加对MainProject项目的引用SubProject,因此即使您修复了#1,您仍然会遇到问题.

您可以通过右键单击" SubProject解决方案资源管理器",选择"引用"(如果使用的是.NET Core/Standard,则选择"依赖项"),选择"添加引用",然后MainProject从"项目"列表中选择您的引用来添加引用.