我想要一个关于循环命名空间依赖的警告

时间:2013-06-05 13:22:14

标签: c# resharper

我可以在程序集中安排我的代码来强制执行正确的名称空间依赖:

Company.Product.Domain assembly
Company.Product.DataAccessLayer assembly
  -References Company.Product.Domain
Company.Product.Application assembly
  -References Company.Product.Domain
  -References Company.Product.DataAccessLayer

因为无法使用圆形装配参考,所以我可以确定我不是在域内引用DAL。

但是当你有多个域时,这会导致大量的程序集,我想简单地使用命名空间来组织项目,如下所示:

Company.Product assembly
  -Company.Product.Domain namespace
  -Company.Product.DataAccessLayer namespace
  -Company.Product.Application namespace

我有什么方法可以阻止或警告我不想要的名称空间依赖性。

如果有人知道的“代码检查 - >自定义模式”解决方案,我有resharper。

1 个答案:

答案 0 :(得分:3)

我自己也遇到了同样的问题而没有找到我自己创造的合适工具。使用(猜猜看):罗斯林。

它是开源的,它在这里:http://nsdepcop.codeplex.com

它的工作原理如下:

  • 您必须在XML文件中定义允许的命名空间依赖关系(每个项目一个文件)。
  • 该工具已集成到MSBuild流程中,因此每次构建时都会运行该工具,并为违反依赖关系规则的每个源代码段提供警告/错误。
  • 如果您安装了Roslyn最终用户预览版(适用于VS2013),那么它还会集成到Visual Studio中,并在您键入代码时提供反馈(无需构建以解决问题)。