我该如何组织我的c#解决方案?

时间:2012-01-13 16:07:00

标签: c# organization

我的C#4解决方案中有三个项目。

  • MooDB:我的域对象是,NHibernate映射,演示类。
  • 数据:我的数据访问层类(使用NHibernate)
  • 测试:是否有我的测试类

以下是截图:

enter image description here

我注意到我的app.config项目中有hibernate.cfg.xmlTest。这似乎是对的。我的app.config项目中没有Data这是一个问题,因为我想在我的log4net项目中使用Data,但如果有的话,我无法配置它那里没有app.config

设置解决方案的最佳方法是什么?每个项目或整个解决方案应该有app.config吗?我的Test项目需要一个吗?我是按照“最佳实践”组织的吗?

2 个答案:

答案 0 :(得分:3)

我通常会在最高层看到配置文件;通常是UI或测试。

这对我来说是有道理的(至少对我而言),因为应用程序正在将数据层定向到应该从哪个存储库获取数据。您的测试层可能会转到与生产应用程序不同的位置;所以在数据项目中配置对我来说没有多大意义......它是顶层“配置”底层。

答案 1 :(得分:1)

如果您想要一个地方进行配置更改,您可以在主项目中配置文件,并使用post-build events将生成的输出文件复制到其他可执行项目的bin文件夹中。

您需要考虑在主应用程序中使用的配置是否与要在单元测试中使用的配置相同。如果没有,那么单独的配置文件绝对可以。