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

标签 c# resharper

我可以在程序集中安排我的代码以强制执行适当的 namespace 依赖性:

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

有什么方法可以防止或警告我不想要的 namespace 依赖性。

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

最佳答案

我自己也遇到过同样的问题,没有找到我自己创建的合适工具。使用(猜猜是什么):Roslyn。

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

它是这样工作的:

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

关于c# - 我想要一个关于循环命名空间依赖的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941090/

相关文章:

c# - 在没有 Linq 的情况下为 IList 的 IList 删除重复项

c# - 如何从我的列表<string> 中删除外部网站的链接?

C# Blazor - 如何限制文本框的 onChange 事件

c# - 为什么希望在 C# 中使用所有属性而不是公共(public)实例变量?

keyboard-shortcuts - Resharper 热键

c# MongoDB (noRM) - 带有嵌入式文档的存储库模式

c# - 事件处理程序和空条件运算符

c# - Resharper 提议从 WPF 中的 Window 类中删除冗余继承

visual-studio - 如何将ReSharpers "cleanup code"与Visual Studio的 "format document"对齐

c# - 有没有办法使用 resharper 属性指定后置条件?