2009-09-28 129 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中!