哪种visual studio解决方案类型适合我?

Jas*_*son 6 c# projects-and-solutions visual-studio-2010

我目前有一个我写的程序,分为3个独立的解决方案.

  1. 前端(所有显示相关的东西)
  2. 解析器(多个(39)项目,每个项目创建一个dll来解析特定数据)
  3. Globals(多个(5)项目,每个项目创建一个由解析器解决方案中的项目使用的dll,以及前端).

要求 -

  • 前端和解析器都要求全局dll在编译时存在,并在运行时使用.
  • 使用assembly.LoadReference在运行时加载Parsers dll.
  • 发展是: C:\projects\myProg
  • 部署位置是: C:\myProg

我的问题是我一直在处理与项目依赖关系有关的问题,在哪里指向我的全局变量dll.我是否指向已部署的位置或开发位置,如果是,则发布或调试?

所以我开始查找不同的解决方案类型,我想知道是否应该为我的特定情况设置分区解决方案或多解决方案.

Jas*_*ams 3

将所有项目添加到单个解决方案中。

将项目之间的任何引用更改为“项目引用”,而不是直接引用 dll 文件。这将解决很多依赖问题。

如果您有任何不经常更改的“库”文件,那么您可以选择将它们移动到单独的解决方案中。其输出应该是“预构建”版本 dll,然后您可以从主解决方案中的标准位置引用它们(执行此操作的最佳方法是添加一个构建后步骤,将输出复制到开发“库二进制文件”文件夹这样,构建过程就不会改变,您只需添加一个额外的步骤来获取需要的文件,并且您仍然可以完全控制构建过程)。这很有效,但如果您需要经常更改这些预构建的 dll,则会很痛苦,因此最好仅用于代码库中相当静态的部分。

最后,考虑将许多项目合并到一个项目/程序集中。构建时间的杀手不是代码的数量,而是程序集的数量 - 在我的 PC 上,每个项目的构建时间都会增加 3 秒,因此通过合并小项目,我节省了大量的构建时间。