似乎没有任何经过验证的、真正的最佳实践集来指导您如何设置您的解决方案、项目和它们输出的程序集。微软好像有tried回到 VS.net 时代,但他们已经停用了这个内容。对于我读到的每一种方法,我都读过另一种声称相反更好的方法,或者一篇只关注“如果微软会……”但实际上没有提供任何解决方案的帖子。
似乎有很多方法可以做到这一点,而且似乎都适用于不同群体在他们的情况下,因此我想我会问你使用什么约定以及为什么它们在你的情况下对你有用。
我希望这将为不同的情况、小型开发组和项目以及位于不同位置的大型开发组和项目提供几个很好的约定。
你用什么约定...
需要明确的是,在这些答案中,WHY 与 HOW 一样重要。关于如何在这里和其他地方发布了很多答案,很少有人说为什么他们使用一种约定而不是另一种约定。
最佳答案
这是一个非常广泛的问题,但很好。我将从一个用于 ASP.Net Web 项目的简单结构开始(MVC 看起来完全不同)。
解决方案命名对我来说没什么大不了的。我倾向于为特定目的创建解决方案,并将现有项目添加到解决方案中。如果您的解决方案超过 15 个项目(只是一个粗略的数字),请考虑添加其中一些项目作为引用。大多数人一次不需要处理超过 15 个项目。
项目命名对我来说很重要。
// class library that supports the site itself and abstracts
// more complicated UI logic into a separate place
Company.ProductName.Web;
// website
Company.ProductName.Web.UI;
// main business object library for product
//
// of course, you can have as many of these as needed.
Company.ProductName;
我尝试在我的项目中使用足够的文件夹,以便无需滚动解决方案资源管理器即可轻松查看文件夹中的所有文件。
我的典型 Web 项目看起来像这样。请注意表示命名空间/可编译资源与那些不是的不同的大小写。
我已经开始越来越多地使用分部类来创建可以做很多事情而不会使代码困惑的综合类。例如,我最近创建了一个 Web 服务,其唯一目的是将 JSON 返回给客户端,但其逻辑分布在几乎十几个部分类中以更好地组织它。
希望这能让你开始。
关于visual-studio - 寻找有关 Microsoft Visual Studio 解决方案和项目命名约定的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874859/