项目共享命名空间时只能访问一个项目

时间:2015-03-06 11:02:57

标签: c# namespaces

我有一个解决方案,其中包含 DataAccess DataAccessImplementation

DataAccess 包含:IFooAccess和其他接口

DataAccessImplementation 包含:实现IFooAccess的FooAccess,以及许多其他同样的类。

现在,这两个项目都在同一个命名空间中。' foo.DataAccess'。

我遇到的问题是,在我的项目中引用这些项目时,这两个项目中只有一个在我构建时进入bin文件夹,只有它的接口可用于我的代码。如果我包含对 DataAccess DataAccessImplementation 的引用,则仅显示 DataAccess

DataAccessImplementation 在我不引用 DataAccess 之前不会进入,但是一旦我再次引用它,我能找到的唯一类就是< em> DataAccess 项目。

这些项目是否需要处于单独的命名空间中?为什么没有添加这两个项目?

2 个答案:

答案 0 :(得分:1)

通常不会有 - 但是将它们保存在一个命名空间中并不是最好的做法。为了清楚(对于我们自己和其他开发人员),我们根据他们的焦点意图将它们分开。例如:

com.yournamespace.DataAccess

com.yournamespace.DataModels

这将是两个独立的项目。在此示例中,我已经替换了您的“DataAccessImplementation”&#39;使用DataModels,因为区别不明确。

答案 1 :(得分:0)

我遇到的问题实际上并不是由于名称空间,而是相同的程序集名称。将名称更改为更合适的名称后,它运行正常。