如何使用命名空间在Visual Studio中处理主项目和子项目

时间:2018-09-23 05:54:21

标签: c# visual-studio

我对名称空间不熟悉,无法使其在Visual Studio 2017社区中正常工作。 我用一个空项目创建了一个解决方案,在该项目中添加了一个类文件:

namespace MainProject
{
   class MainClass
   {
      //some methods
   }
}

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

namespace MainProject.SubProject
{
   class SubClass
   {
      MainClass var;
      public SubClass()
      {
         var=new MainClass();
      }
   }
}

解决方案结构如下:

Solution
|
|__MainProject
|  |__MainClass.cs
|
|__SubProject
   |__SubClass.cs

但是我收到错误:错误CS0246:The type or namespace name 'MainClass' could not be found 我不明白我在想什么。

1 个答案:

答案 0 :(得分:5)

您似乎有两个问题(除非您不了解从SubProject引用MainProject)。

1)默认情况下,类为internal。为了使它在另一个项目中可见,它要么需要intentionally exposed to that other project,要么通常被标记为public

public class MainClass
{
    //some methods
}

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

您可以通过以下方式添加引用:在解决方案资源管理器中右键单击SubProject,选择引用(如果使用.NET Core / Standard,则选择依赖项),选择添加引用,然后选择{{ 1}}。