防止在给定位置使用某些dll或服务代码

时间:2012-07-24 08:52:55

标签: c# asp.net-mvc asp.net-mvc-4 code-contracts

是否有一种简单的方法(可能使用代码契约?)来阻止在应用程序的给定部分中使用某些dll /名称空间/程序集?

我的用例是当我尝试在控制器中使用公司范围的服务层时,我想要一个警告机制。

相反,我们应该在服务层和控制器之间设置一个层(服务层正在改变,我们将逐步为我们的新SDK切换它)。

有什么方法可以做到这一点?我可以简单地在代码协定中指定somethig来警告在控制器方法中使用给定的程序集吗?

1 个答案:

答案 0 :(得分:2)

代码合同在这里不会有用。

您是否可以访问Visual Studio Premium或Ultimate?内置了一个Layer Diagram工具,可用于在构建时验证体系结构。

您创建一个新的建模项目并在其中添加图层图。然后你可以将其他项目拖到图表中,你可以编辑它们之间的关系等。这是一个非常直观的界面。

这是a blog post explaining how to turn on compile-time verification,以及有关填充图表的更多信息。

这是一个示例层图。例如,如果来自Business的代码访问了Web层内的内容,则会生成错误。

An example layer diagram http://blogs.msdn.com/blogfiles/jennifer/WindowsLiveWriter/VisualStudio2010_DA7C/LayerDiagram_thumb.jpg