解決方案
選項 1 一次僅將一個assembly載入到 GAC(Global Assembly Cache)中由於LabVIEW的動態特性,應用程式只會找到並載入GAC中存在的assembly。
注意:如果新assembly包含附加方法和屬性,您仍需要使用下面選項 2 或 3 中列出的設定檔案,以便使用附加方法和屬性正確更新 LabVIEW Constructor Node。
選項 2 兩個assemblies均存在於 GAC 中您可以使用.NET設定檔來選擇您的LabVIEW project/shared library/stand alone application (executable) 應使用的assembly版本。例如,如果LabVIEW project的名稱為
Test.lvproj ,則設定檔的名稱應命名為
Test.lvproj.config 。設定檔應與您嘗試變更的LabVIEW project位於相同資料夾中。有關詳細資訊,請查看
設定 .NET 客戶端應用程式。下面列出了一個範例設定檔。
注意:可以把多個舊版本的其中一個重新定向到新版本。這可以透過在
bindingRedirect tag內指定
oldVersion參數作為版本範圍而不是單一版本號來完成。例如
nnnn - nnnn 。
選項 3 兩個assemblies不需要都出現在 GAC 中您仍然可以使用.NET設定檔來選擇您的LabVIEW project/shared library/stand alone application (executable)應使用的assembly版本。有關詳細資訊,請參閱
設定 .NET 客戶端應用程式。
如果您要瀏覽到特定資料夾以選擇assembly,請使用下列設定。這裡唯一的差別是,提到了assembly的路徑
<probing privatePath="Assembly\ver2"/> ,其中
Assembly\ver2是專案內的子資料夾。該路徑必須相對於設定檔所在的位置。它強制 VI 在其他資料夾之前先搜尋特定資料夾,從而選擇正確的版本。
設定檔注意事項:
- 設定檔適用於 LabVIEW 8.5 及更高版本。
- assemblyIdentity name="Test" - Test表示assembly的名稱,並且必須與assembly的名稱完全匹配才能正常運作。
- publicKeyToken="xee7d93a67000dr7" - 用於唯一辨識assembly。它是使用SN工具產生的。
- oldVersion=" " newVersion=" " - 表示您目前使用的版本以及您想要使用的版本。
正確使用設定檔的步驟:
- 檢查以確保 LabVIEW 程式碼能夠在某一版本的assembly上正常運作。關閉 LabVIEW 專案和 LabVIEW。
- 開啟設定檔案,然後編輯程式碼以從目前版本變更為您想要使用的版本。
- 重新開啟 LabVIEW 和專案。然後執行 LabVIEW 程式碼。 LabVIEW 程式碼現在將使用您指定的assembly版本。