【发布时间】:2011-06-03 12:45:50
【问题描述】:
编辑: 我有一个快速增长的类库,我决定对它进行一些组织...... 类库命名空间的结构如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
namespace ClassLibrary1
{
namespace FirstNS
{
public class Class1
{
ReportDocument report = new ReportDocument();
public static void ShowMe()
{
Console.WriteLine("Class1");
}
}
}
namespace SecondNS
{
public class Class2
{
public static void ShowMe()
{
Console.WriteLine("Class2");
}
}
}
}
它编译得很好。当我尝试通过在控制台应用程序中引用编译的 dll 来使用它时,我可以使用 using 指令来引用命名空间。但是,当我尝试构建应用程序时,它说“找不到类型或命名空间名称 'ClassLibrary1'...”。
我发现取出 CrystalDecisions 程序集可以解决我只是不确定原因的问题。 - 听起来很奇怪,问题与嵌套命名空间有关。如果我使用单独的命名空间,问题就消失了。
【问题讨论】:
-
我们能否在这些命名空间中看到一些示例代码,以及调用代码。我假设你同时做
using a.b; using a.c;? -
你有与命名空间名称相同的类名吗?一个简短但完整的例子在这里真的很有帮助......
-
@Matthew:我怎么称呼它似乎并不重要,但假设我只打电话给一个。 @Jon:不。类名不同。我已经编辑了帖子...
标签: c# namespaces class-library