2016-12-28 43 views
1

This question,不回答我的問題。C#:基於單選按鈕選擇的條件引用dll's

我引用2個DLL的相同的應用程序,但2個不同的版本。 因爲我從這兩個dll的調用類似的功能,我的一些代碼正在重複(目前我使用基類和繼承常見的功能,但我不喜歡這種方法,因爲它不是乾的代碼)。

我相信這可以解決,如果我只能在運行時引用其中一個dll的話。

我的應用程序可以選擇根據用戶選擇的版本來選擇要打開的軟件版本。

我能想到的一種方法是, 應用程序應該引用該版本的dll,用戶從單選按鈕中選擇,但我不知道如何做到這一點,有人做過這樣的事情嗎?

示例代碼使用

using ABC = ABC2016; 

protected static string ABC_APP_PATH = System.IO.Path.Combine(Environment.GetEnvironmentVariable("PROGRAMFILES"), "ABC", "ABC 2016", "ABC.exe"); 

正如我們在上面的例子中看到,該代碼是用2個不同的文件的最新版本的DLL時使用的早期版本

using ABC = ABC2015; 

protected static string ABC_APP_PATH = System.IO.Path.Combine(Environment.GetEnvironmentVariable("PROGRAMFILES"), "ABC", "ABC 2015", "ABC.exe"); 

示例代碼DLL時並重復同一行,則會有更多這樣的實例。如果我可以使用conditinoal參考,我相信,我可以解決這個問題。

回答

3
+0

謝謝,這個答案是有益的,這讓我真的接近我一直在尋找,但我有爲了完全解決這個問題做了幾個更改,我很快將我的答案與我申請的所有內容分享。 沒有你的幫助,我不能到達那裏,謝謝你! – vin

+0

偉大的幫助,分享你的答案,以便它可以爲其他人有用 – abhi