C# 程序集访问

C# 程序集访问,c#,.net,C#,.net,如果程序集标识/命名空间为Library.Testing。 然后,您创建了另一个程序集,其标识/命名空间为Library.Testing.One Library.Testing.One项目参考Library.Testing 为什么您必须使用使用Library.Testing在库中的类中。测试。一个可以访问库中的任何内容。测试 例1: using System; namespace Library.Testing.One { // 'Library.Testing' is a refer

如果程序集标识/命名空间为
Library.Testing
。 然后,您创建了另一个程序集,其标识/命名空间为
Library.Testing.One
Library.Testing.One
项目参考
Library.Testing

为什么您必须使用
使用Library.Testing
库中的类中。测试。一个
可以访问
库中的任何内容。测试

例1:

using System;

namespace Library.Testing.One
{
    // 'Library.Testing' is a reference in this assembly
    public class foo : Library.Testing.BooBase
   {
   }
}
这不起作用,我有两个例外

警告1装载财产 “RootNamespace”失败。弦 对于根,命名空间必须是有效的 标识符。错误2类型或 命名空间名称“BooBase”不存在 存在于名称空间中 '库。测试。一。库。测试' (您是否缺少一个集合 参考?)

例2:

using System;
using Library.Testing;

namespace Library.Testing.One
{
    // 'Library.Testing' is a reference in this assembly
    public class foo : Library.Testing.BooBase
   {
   }
}
这管用

库.测试添加一个“using”(使用)。一个
不会自动将
库和
库.测试中的所有内容纳入范围。名称空间看起来是分层的这一事实可能是导致您混淆的原因


例如,可以考虑使用System.Data.SqlClient向文件中添加
。这不会自动将
System
System.Data
中的所有内容纳入范围。

将原始代码减少到两个不同程序集中的两个类不会再现错误。在Library.Testing.One程序集中是否有其他类创建了不明确的名称空间“Library.Testing.One.Library.Testing”?我基于创建的类库编写了这个示例。我在编写项目时重新创建了它,但没有发现错误。问题一定是别的,我得把代码挖出来。谢谢你的时间对不起如果你跌倒了我浪费了时间我知道了。这是一个紧凑的框架项目,应用程序部署的目录有一个下划线。示例:测试。我同意,但“Library.Testing.One”的引用是“Library.Testing”。所以我想我会明白的,但我得到了那个奇怪的错误,除非我添加“usinglibrary.Testing.One”。