2009-09-28 128 views
1

我一直在使用Codesmith框架NetTiers来生成一个DAL等,放到一个称为'NetTiers'的文件夹之外,在我的主项目文件夹中,并且引用我的主项目中的该文件夹中的DLL。使用Codesmith框架(NetTiers/Plinqo)的Visual Studio解决方案结构

我已经开始使用Plinqo框架,并且想要使用相同项目中该框架生成的文件作为我在NetTiers中使用的项目。 (我使用这两个框架的原因是我想从Plinqo获得/学习更新的LINQ善良,但为了兼容性,也有熟悉的NetTiers代码DAL,BLL语法可用)。

我的问题是:什么是在使用像这些Codesmith模板时使用的最佳Visual Studio解决方案和文件结构?框架的生成代码是否应该包含在主项目之外,并作为项目添加到整体解决方案中?或者每个模板的生成代码都有自己的解决方案?生成的文件应该在主项目的文件结构中吗?

我尝试过这些中的每一种的组合,并且他们各有其优点和缺点。我想知道是否有经过验证和测试的模式。

回答

1

我倾向于将.csp和生成的文件夹保存在我的主应用程序文件夹之外。从构建的生成代码添加.DLL中的参考Visual Studio副本时。所有生成的项目都位于D:\ CodeSmith Projects \

等主文件夹下如果您想要版本控制.csp文件,将它与其他版本控制的应用程序文件一起移动到将它们结合在一起。

1

我们将生成的项目放入我们的解决方案中。实际上,在我当前的项目中,我生成了nettiers文件到我想要的文件所在的位置,并开始将我自己的项目文件添加到该文件中......但是,我们一直将文件保存在解决方案中,如果需要的话向具体类中的代码添加一些东西,我可以做到这一点,而无需打开一个全新的项目。

+0

我一直在试验 - 将生成的项目放在主要解决方案中。 – 2009-10-30 22:50:00

3

当谈到.netTiers时,我总是编译生成的解决方案,并将程序集添加为我的项目的引用。这使升级/差异和再生变得更容易。

但是,会出现一些您想要添加自定义逻辑的情况,请记住这一点。

感谢

-Blake Niemyjski

0

我们尝试这两种方案。我们决定将程序集包含在多个项目共享的依赖关系文件夹中。

当项目包含在解决方案中时,我们遇到了TFS问题。不利的一面是,在调试时你不能轻易地进入.NetTiers生成的代码,尽管经过一段时间,你已经习惯了这一点,并且接受.NetTiers中的任何东西都停留在.NetTiers中!