繁体   English   中英

如何在Visual Studio中构建整个应用程序?

[英]How structure whole applications in Visual Studio?

我在项目上工作,它有3个独立的部分(ASP.NET MVC,WinForms,Silverlight)和15个项目(Common,Api,Services,Repository和WinForm的CAB)。

决议

1)所有这个项目都在一个解决方案中
2)每个部分都有解决方案

在Visual Studio中处理解决方案和项目的最佳方法是什么?

如果我做重构,首先是伟大的。
第二是有利于更清晰。

我做到了。 您可以将一个项目添加到多个解决方案。

根据各个项目的规模,我会为所有项目使用单一解决方案。 我从不将项目放在解决方案文件夹中,为共享程序集保留该项目,为我读取文件等。

我建议在Solution Items文件夹中创建一个SolutionInfo.cs,并在所有项目中添加对此的引用。 然后,您可以删除AssemblyInfo.cs文件中的大多数程序集属性。 我在AssemblyInfo中只有3个属性:AssemblyTitle,AssemblyDescription,Guid。 其他属性在我的所有项目中共享。

将所有项目置于同一解决方案中可确保您拥有适当的命名空间,并且不同客户端实现之间不会发生冲突。

根据命名空间命名项目,例如,如果您的项目名为“Sport”,则将解决方案命名为“Sport”,将“Sport.Common”,“Sport.Web”等共享库命名为。

当我遇到编译需要很长时间的性能问题时,我才开始考虑在多个解决方案中分离项目。 将所有内容都放在同一个解决方案中会使管理变得更加容易,尤其是在使用源控制系统的情况下。

我倾向于在某个全局区域中创建共享项目,并在需要时将它们添加到特定的应用程序配置(解决方案)中。 特定于解决方案的非共享项目可以存在于该解决方案中。 请记住,在一个解决方案中对共享项目的更改将影响使用它的任何其他解决方案中的该项目。

自然是每个应用程序的一个解决方案(exe或托管并不重要)。 然后放置您经常调试或重构的所有程序集。

其他保持编译的二进制文件。

我会为每个部分提供一个解决方案,这意味着每个ASP.NET MVC,silverlights和winform都有自己的.sln文件。

至于重构,它应该无关紧要,因为如果你安装了Resharper ,那么你在其他解决方案中重构代码的那一刻,你未更新的csprojects的cs文件将会发出红色的光束(没有编译),你可以只需点击一下即可重命名(将所有xxx更改为yyy选项)

我的偏好是只有一个解决方案文件,然后在每个解决方案文件下创建解决方案文件夹(服务,公共,演示文稿等)。

然后,在Presentation文件夹下为Web,Windows,Silverlight创建单独的文件夹。 每个项目都将放在适当的文件夹中。

对我而言,这是将所有内容保持在同一屋檐下的最简单方法。 更易于编译,共享资源和管理源代码管理。

因此,对我来说,典型的解决方案可能在树中有15-20个不同的项目,具体取决于解决方案的复杂性。

我实际上认为第一个更清楚。 原因是,如果编译器为WinForm项目大吼大叫,那么更容易判断是否更改了MVC的共享项目。 此外,您应该能够设置调试器,以便在单击Debug时它将仅调试所选项目(在单击调试按钮之前选择MVC,WinForm或Silverlight)。 这使您可以更轻松地调试MVC,Winform和Silverlight,而无需更改任何调试设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM