我正在Visual Studio中构建一个库,我已将我的命名空间结构决定为CompanyName.Type.Action,例如MyCompany.Common.DataFile。
在Visual Studio中,我通过创建名为MyCompany.Common的新解决方案,然后向MyCompany.Common项目添加类DataFile来实现此目的。
首先,这导致解决方案和项目具有相同的名称,我认为这不是最佳实践。
其次,我最终会在MyCompany.Common项目中找到很多文件,而不是MyCompany.Common解决方案中的很多项目。
我可以将解决方案重命名为MyCompany,然后有一个名为Common的项目,但我仍然会在单个项目中有很多与Common相关的文件。
这是做图书馆的最佳方式吗? 你们是怎么做到的?
答案 0 :(得分:1)
这取决于您是否要在解决方案中拥有任何其他项目。解决方案名称无关紧要 - 大多数情况下,解决方案只是项目的容器。您可以非常轻松地在多个解决方案中拥有相同的项目。
您的项目肯定应该是MyCompany.Common
,而不仅仅是Common,IMO。不要忘记生成的程序集和默认名称空间的名称默认为与项目名称相同。
答案 1 :(得分:1)
除非您需要在多个项目中拆分代码,否则我建议您避免这种情况。原因是编译一个包含很多项目的解决方案所需的时间比一个项目很少的解决方案要长得多,并且拥有大量dll文件可能会让使用你的库的人感到困惑。
现在,对于您正在做的事情,我建议您命名解决方案,以便了解其中的内容。对于每个项目,您可以将默认命名空间设置为您需要的任何项目,因此即使您的解决方案名为MyCompanyLibrary,您的项目也会有一个默认命名空间,如MyCompany.Common。 此外,您可以覆盖项目中任何文件的建议命名空间,因此如果您不想这样做,则不必遵循建议的结构。只要您的结构清洁易懂,您应该没问题。