Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解决方案-有多少个项目?_C#_Solution_Multi Project - Fatal编程技术网

C# 解决方案-有多少个项目?

C# 解决方案-有多少个项目?,c#,solution,multi-project,C#,Solution,Multi Project,我在谷歌上搜索了一下,但没有找到好结果 现在我正在建立一个网站,我从一开始就试图从设计的角度使它尽可能正确 我现在面临的问题是,当决定开始记录日志时,我需要一个项目来放置此代码。当我在当前的项目中找不到合适的位置时,我想:嘿,为什么不建立一个日志类库呢 有没有关于你应该有多少个项目的一般指南?我知道这将是一个相当小的项目,但它将是很好的完全摆脱我的方式 任何提示都非常感谢:)如果您担心解决方案中的项目限制,任何一种方法都可以。别担心 我自己会把它放在一个单独的项目或公用事业项目中。我们有一个20

我在谷歌上搜索了一下,但没有找到好结果

现在我正在建立一个网站,我从一开始就试图从设计的角度使它尽可能正确

我现在面临的问题是,当决定开始记录日志时,我需要一个项目来放置此代码。当我在当前的项目中找不到合适的位置时,我想:嘿,为什么不建立一个日志类库呢

有没有关于你应该有多少个项目的一般指南?我知道这将是一个相当小的项目,但它将是很好的完全摆脱我的方式


任何提示都非常感谢:)

如果您担心解决方案中的项目限制,任何一种方法都可以。别担心


我自己会把它放在一个单独的项目或公用事业项目中。

我们有一个200多个项目的解决方案。缺点是在VisualStudio中加载时间长。但过去唯一的问题是确保你有足够的内存

另外,内置了对SLN文件的支持,因此,如果您正在进行自动构建,请考虑使用它而不是Visual Studio。

“一起更改的内容应该打包在一起”,我忘记了该指导原则的来源(代码是否完整?)

换句话说,您的程序集(项目)应该以与您的类/对象在较低级别上相同的方式表示一致的抽象


因此,是的,一个单独的日志项目是正确的选择(尽管在您启动自己的日志之前一定要查看log4net或Microsoft的日志块!)

您绝对应该有一个日志库。如果你想让它“从设计的角度尽可能正确”,并且你的项目不那么琐碎,那么你肯定会有一些项目。问题是,除了它是一个web应用程序之外,我们不知道你在做什么。通常是商务领域决定了解决方案的复杂程度。

将日志记录到单独的项目中是完全可以的。但是这实际上取决于项目的范围。我通常这样设置我的项目

Web(Web项目)

YourProject.Core(所有业务逻辑)

YourProject.Web.Tests(Watin测试)

YourProject.Web.Core.UnitTests(单元测试)

YourProject.Web.Core.IntegrationTests(集成测试)


我建议您从下载一些开源项目,看看项目是如何组织的。

对于一个小项目,我会选择三层架构

这将包括:

  • 应用层
  • 业务层
  • 数据层

  • 但是如果您想添加日志记录,最好创建另一个项目。这也有助于您将日志添加到另一个应用程序中,您可以只包含日志项目。

    可能的重复:请参阅类似内容我已经在使用log4net,但我想对其进行抽象,以备更改;)我参与的大多数项目都是中小型项目。使用单独的项目进行数据访问有点过分。我只使用存储库设计模式进行核心项目内的数据访问。但是,我相信有一个单独的数据访问项目是一个很好的实践。使用第三方日志库比创建自己的日志库更好。