c#DLL仅使用一个类进行编译

use*_*733 3 c# dll compilation class building

我创建了一个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; }
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

对于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; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在构建/重建任何组合后,我将在调试文件夹中获得.dll.在引用此DLL时,似乎我只能访问ONE命名空间/类(即Apple).它允许我访问我在类库中创建的第一个类.我创建了多少个类并不重要,我只在我的DLL中获得一个.

我有相同的结果:

Visual Studios 2010 Visual Studios Express 2008(C#)

注意:如果我更新了一个有效的类(即添加一个新属性),它将在我构建时更改DLL.我尝试过"清除","重建"和"构建".

编辑:显然我是个白痴,并没有意识到橙色不公开.一旦我改变它,它就有效了.不确定为什么新项目生成的类是"公共"的,但是在添加新类时它不是,反之亦然.

感谢大家的建议.

nic*_*k_w 5

你的Orange班级没有被宣布为public你的Apples班级.尝试声明Orange为公共 - 然后您应该能够访问它.