嗯,我有一個項目,並在我使用.NET 4.0的那一刻,因爲我希望這個應用程序與Windows XP兼容,因爲EF 5.0僅適用於Windows 7和更高版本。如何爲不同版本的.NET只有一個項目?
但是,我想實現應用程序的某些部分與.NET 4.5的功能,如EF 5.0。
因此,對於我的數據庫訪問,我有一個使用EF 4.0的轉儲類,這是一個獨立的dll,因此我可以創建其他使用EF 5的存儲庫dll,並且在我的項目中導入了兩個dll,然後我可以實例化根據EF 5.0的版本,我可以使用正確的存儲庫。這是配置文件中的參數。這是最好的方式嗎?
我問這是因爲我不知道我必須在哪裏聲明我的界面。因爲我的存儲庫類需要實現這個接口,但是這會將我的dll綁定到我的應用程序,但我需要在兩個不同的應用程序中使用這個存儲庫,所以我想實現一次,並在許多應用程序中使用。我想要獨立的dll,因爲現在有兩個應用程序,但將來可以更多。
想要在使用存儲庫的應用程序中使用接口的原因是因爲我想根據配置文件設置在運行時實例化正確的存儲庫。所以在未來,我可以實現新的存儲庫,並且不需要更改代碼。編輯1:我讀了關於多目標定位,但如果在我的項目中使用.NET 4.0的功能,我想編譯爲3.5,我得到一個錯誤,因爲這個功能不存在於3.5。這是正確的。那麼唯一的辦法是維護兩個不同的項目?這將是一項雙重工作。
謝謝。 Daimroc。
只是幾個意見。 EF5可用於.NET 4和.NET 4.5,但某些新功能僅在使用.NET 4.5時纔可用。 EF6,目前可從NuGet獲得alpha1,支持除.NET 4和.NET 4.5上的異步外的所有功能。 –