gpt4 book ai didi

c# - 两个VS2008 C#类库项目是否可以共享一个命名空间?

转载 作者:行者123 更新时间:2023-12-04 17:00:52 26 4
gpt4 key购买 nike

我试图在一个解决方案中的两个项目之间共享一个公共(public)命名空间。这些项目是“蓝图”和“存储库”。蓝图包含整个应用程序的接口(interface),并作为应用程序结构的引用。

在 Blueprint 项目中,我有一个带有以下声明的接口(interface):

namespace Application.Repositories{
public interface IRepository{
IEntity Get(Guid id);
}
}

在 Repositories 项目中,我有一个类,如下所示:
namespace Application.Repositories{
public class STDRepository: IRepository
{
STD Get(Guid id){
return new SkankyExGirlfriendDataContext()
.FirstOrDefault<STD>(x=>x.DiseaseId == id);
}
}
}

但是,这不起作用。 Repositories 项目引用了 Blueprint 项目。我收到一个 VS 错误:“找不到类型或命名空间名称‘IRepository’(您是否缺少 using 指令或程序集引用?) - 通常,这很容易修复,但添加 using 语句没有意义因为它们具有相同的命名空间。无论如何我都尝试过,但它没有用。已添加引用,并且没有引用该接口(interface)的代码行,两个项目都编译成功。我在这里迷路了。我到处搜索什么也没发现,所以我假设我正在做的事情存在根本性的错误......但我不知道它是什么。所以,我希望得到一些关于如何解决这个问题的解释或指导。我希望你们能帮忙。

注意:我想这样做并将接口(interface)保留在同一命名空间下的原因是因为我想要一个可靠的项目来保留所有接口(interface),以便对应用程序的完整架构有一个引用。我已经考虑了变通办法,例如将所有接口(interface)放在 Blueprint.Application 命名空间而不是应用程序命名空间中。但是,这需要我在应用程序的几乎每一页上都写上 using 语句……而且我的手指会感到疲倦。再次感谢各位...

最佳答案

这个有可能。

例如,mscorlib.dll 和 System.dll 是两个不同的 C# 项目,它们都定义了 System 中的类。命名空间。 (除其他外)

如果 Repositories 会发生此错误项目未引用 Blueprint .

关于c# - 两个VS2008 C#类库项目是否可以共享一个命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com