在尝试导入命名空间时,是否有办法强制编译器警告?
例如,项目可能需要引用 System.Data ,但我们希望阻止该项目中的任何类或模块导入 System.Data.OleDb 而是建议切换到自定义数据访问库。
我的猜测是可以使用像 Roslyn 这样的自定义编译器工具,但似乎应该可以在Visual Studio中使用
答案 0 :(得分:2)
ReSharper允许设置自定义规则和验证。在Options->Code Inspection->Custom Patterns
下,您可以创建自定义验证模式。
选择Add pattern
并使用禁止名称空间作为搜索模式(例如System.Data.OleDb
),并将替换模式放入替换模式(例如Custom.Optimized.OleDb
)。然后,您可以设置严重性,ReSharper
将建议更改。
显然,这只有在您和您的团队使用ReSharper
时才有效。 (如果不是你真的应该)
更新:回答评论中的问题:您知道Resharper如何管理开发团队的规则
Resharper
使用3级设置:
使用设置级别团队共享,您可以与整个团队共享一个公共配置文件。
除此之外,Resharper
提供了一个免费的命令行工具,您可以在构建服务器上集成,以在自动构建中强制执行这些规则。