我有一个c#项目,默认命名空间是Project.App
- 我有另一个项目,默认命名空间是Project.Service
。
我在Project.Service
中包含了从Project.App
创建的DLL作为参考 - 原因是项目有两个不同的解决方案,由两个不同的组维护。
当我尝试在代码中使用引用并编译时,我总是会收到一条错误"The type or namespace 'Service' does not exist in the namespace 'Project'".
我在这里缺少什么?
修改:我找到了问题的解决方案:Namespace not recognized (even though it is there)
答案 0 :(得分:1)
How to: Use the Namespace Alias Qualifier (C# Programming Guide)
//example
using colAlias = System.Collections;
答案 1 :(得分:0)
我会首先检查它是否真的被添加:可能服务 dll中的目标框架与应用程序中的目标框架不同(更新版本)。
答案 2 :(得分:0)
我读了一篇文章(在stylecop告诉我移动我的using语句之后),使用当前命名空间内的语句移动可以帮助解决这样的命名空间冲突。
namespace example
{
using xxxxx
}
请参阅以下帖子:Should 'using' statements be inside or outside the namespace?
答案 3 :(得分:0)
尝试为Project.Service
dll添加别名,然后将别名导入代码中。像这样:
extern alias Services;
Project.Service
Service.DoSomthing();
命名空间
醇>
此时你应该很高兴。
答案 4 :(得分:0)
因为您似乎正确引用了......
Project.Service
中的所有课程都可能是internal
,因此其他项目不会“看到”任何内容。
如果是真的 - 公开或让你的其他集会的组装朋友“InternalsVisibleTo”(请注意,它要求两者都有强烈签名)。
答案 5 :(得分:0)
您是否确认要使用的类位于Project.Service命名空间中并且它是公共的?即使Project.Service是默认命名空间,也不能保证程序集中的任何类都具有该命名空间。