2017-03-31 48 views
1

我目前工作的一個Windows窗體應用程序,它使用的是隻能在.NET框架中的API 3.5(API#1),和另一個API(API#2),只有作品在.net framework 4.0及更高版本中(它的目標是4.5)。有沒有辦法在我的解決方案中構建項目,以便能夠將這兩種API納入我的應用程序中?.NET集成的API與不同的目標構架

有關更多信息...我的啓動窗體項目的目標是3.5,API#1是它引用的COM互操作dll,而api targetting 4.5是多個輸出類型爲「class library」的c#項目。

回答

1

使用早於版本2017的Visual Studio版本您可以在解決方案中創建兩個(或更多)項目。每一個都針對不同的框架版本。

(取決於你正在開發它可能是最好把你的源文件被設置爲使用舊版本的框架內的項目。但是,這實際上取決於。)

後,在第二個項目開始添加鏈接到第一個項目中物理包含的源文件。您可以通過文件逐個文件或選擇多個文件並使用Alt鍵拖動到第二個項目中。通過使用鏈接,您仍然可以擁有一個「真相源」,因爲源代碼僅保存在單個物理文件中。

由於不同的framework版本將提供不同的功能,你可能會得到一個點,你必須使用條件(#如果#else僞...)你的源代碼中得到編譯爲每一個目標框架代碼。 請參閱:C# preprocessor directives

開始使用Visual Studio 2017年您可以編輯您的項目文件,並使用新的元素「TargetFrameworks」。通過這種方式,您將獲得一個項目,並從中獲取構建過程中的幾個輸出。

這些鏈接可能會有所幫助: