我對典型的LOB應用程序使用Visual Studio 2012。這個應用程序有DAL,BLL和UI層。更好地接受在幾個平臺(ARM,x64和x86)中使用Sqlite?
所有項目,節選sqlite的,是基於便攜式類庫(PCL),所以我可以編譯一次,他們爲所有的平臺上工作。
但是數據庫SQLite的。 Sqlite使用本地代碼,所以我需要爲每個平臺部署一個包。 例如,當我需要爲ARM處理器進行部署時,我需要重新編譯ARM的所有項目(超過20個),因爲Sqlite放置在較低層。大多數項目直接或間接依賴於放置Sqlite的DAL。
這將是解決這種情況下,最好的辦法?
謝謝
我使用SQLite作爲擴展,因此我可以在構建過程中進行一些改進,因爲我可以更改項目平臺而不手動更新對SQLite的引用。但是,使用SQLite的數據訪問項目被其他程序集引用爲BLL等。由於我需要明確定義數據訪問項目的平臺,因此擴展系統無法解決我的問題。也許我需要用我的數據訪問項目創建一種擴展,模仿SQLite使用的系統。順便說一下,我的目標平臺是Windows 8,WinRT和Windows Phone 8. 謝謝 –
@DabielKabuto您可以創建一個帶有數據訪問接口的項目,並通過依賴它的所有其他程序集來引用它。所有這些程序集現在可以保持平臺不可知。對於每個目標平臺,您將使用特定於平臺的代碼實現此接口。在目標平臺的主項目中,引導代碼將確保正確的數據訪問實現將被使用(注入)。這樣,唯一的特定於平臺的項目應該是單個數據訪問實現以及每個目標平臺的主要項目。 –