防止导入命名空间
问题描述:
有没有办法迫使尝试导入一个命名空间时,编译器警告?防止导入命名空间
例如,项目可能需要参考System.Data,但我们想防止导入System.Data.OleDb在该项目中的任何类或模块,而是建议切换到自定义的数据访问图书馆。
我的猜测是,它可以使用自定义的编译工具像罗斯林是可能的,但似乎喜欢的事,应该是可行的Visual Studio
答
ReSharper允许设置自定义规则和验证。在Options->Code Inspection->Custom Patterns
下,您可以创建自定义验证模式。
选择Add pattern
并将禁用的名称空间用作搜索模式(例如System.Data.OleDb
),并将替换替换为替换模式(例如Custom.Optimized.OleDb
)。然后您可以设置严重性,ReSharper
将提示更改。
显然,如果您和您的团队使用ReSharper
这只会工作。 (如果没有,你真的应该)
更新:答案在评论的问题:你知道ReSharper的如何在一个开发团队
Resharper
使用3个级别的设置管理规则:
- 个人设置:这些设置绑定到您的用户帐户。这些设置应用到所有的解决方案与您的用户帐户(Windows用户帐户)
- 解决方案设置工作时:这些设置保存到本地,被应用到一个具体的解决方案
- 团队共享:这些设置应用到一个解决方案,但存储在您签入的配置文件中,使其可用于整个团队。
使用设置级别团队共享您可以与整个团队共享一个通用配置文件。
除此之外,Resharper
提供了一个免费的命令行工具,您可以在构建服务器上整合,执行在自动生成的规则。
,您可以拨打罗斯林分析。 – SLaks
谢谢。我看到一些关于Roslyn的博客文章希望有机会使用它,但现在还没有选择。很高兴知道它可以做我需要的。 – mfreedm52