我创建了一个C#类库。在其中我插入两个类。例如:
Apple.cs Orange.cs
namespace FoodLibrary
{
namespace Apples
{
public class Apples
{
public string type { get; set; }
public string colour { get; set; }
public string size { get; set; }
}
}
}
对于Orange.cs几乎完全相同的一个(命名空间Apples和class Apples将变成“Orange”)。
编辑(这是请求的Orange.cs):
namespace FoodLibrary
{
namespace Orange
{
class Orange
{
public string colour { get; set; }
public string type { get; set; }
public string size { get; set; }
}
}
}
在构建/重建任何组合后,我将在调试文件夹中获得.dll。在引用此DLL时,似乎我只能访问ONE命名空间/类(即Apple)。它允许我访问我在类库中创建的第一个类。我创建了多少个类并不重要,我只在我的DLL中获得一个。
我的结果相同:
Visual Studios 2010 Visual Studios Express 2008(C#)
备注:如果我更新一个有效的类(即添加一个新属性),它将在我构建时更改DLL。我尝试过“清除”,“重建”和“构建”。
编辑:显然我是个白痴,并没有意识到橙色不公开。一旦我改变它,它就有效了。不确定为什么新项目生成的类是“公共”的,但是在添加新类时它不是,反之亦然。感谢大家的建议。
答案 0 :(得分:5)
您的Orange
课程未被public
课程宣布为Apples
。尝试将Orange
声明为公开 - 您应该可以访问它。
答案 1 :(得分:0)
在Visual Studio中,在“解决方案资源管理器”中选择Orange.cs文件,然后查看“属性”窗格。 Build Actions是否设置为Compile?如果没有,则该文件不作为源代码包含。
由于某些奇怪的原因,Visual Studio在创建新文件时有时会将构建操作更改为其他内容。查看这家伙的博客,了解屏幕截图和类似问题。
答案 2 :(得分:0)