使用Visual Studio 2008:C#主項目和子項目引用
內的溶液有一個主項目(PROJECT1),相同的解決方案中還有其他的項目(這些項目是Excel 2007工作簿模板)。這些其他項目需要引用Project1中的類和對象,並且Project1需要能夠訪問Workbook項目。
我現在所擁有的是其他項目被設置爲依賴於Project1和引用被添加到Project1的其他項目。
這是正確的方式來做我想要完成的事情還是有另一種方式?
使用Visual Studio 2008:C#主項目和子項目引用
內的溶液有一個主項目(PROJECT1),相同的解決方案中還有其他的項目(這些項目是Excel 2007工作簿模板)。這些其他項目需要引用Project1中的類和對象,並且Project1需要能夠訪問Workbook項目。
我現在所擁有的是其他項目被設置爲依賴於Project1和引用被添加到Project1的其他項目。
這是正確的方式來做我想要完成的事情還是有另一種方式?
你不能讓兩個項目相互依賴(這完全是合乎邏輯的;哪個項目應該先建立?)。您應該將Project1和Workbook項目都需要的Project1中的零件移動到單獨的項目中,該項目可以由Project1和Workbook項目引用。
更新
有處理這種情況幾種不同的方式,並且不知道你的應用程序的細節,我不能給出任何具體的解決辦法。但一種方法是使用dependency injection。不要讓Workbook項目對Project1中的代碼具有硬連線依賴性,您可以提取此功能的接口。該接口放置在另一個可由Project1和Workbook項目引用的項目中。
然後我假定Project1將在Workbook項目中創建類型的實例。這意味着你應該改變這些類型的構造函數,如果這個接口類型有一個參數。 Project1將包含它在創建時將傳遞給Workbook項目類型的接口的實現。
這樣,工作簿項目代碼就可以使用Project1中的代碼而無需對其進行引用。
你爲什麼不在一個項目中擁有一切? – 2010-07-29 22:46:54