我对名称空间不熟悉,无法使其在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
我不明白我在想什么。
答案 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}}。