您能告訴我這種情況的最佳方法嗎?我繼承了一個新項目,並沒有遇到過這種情況。.Net dll參考 - 部署到具有不同版本的第三方dll的PC上
我們在C#Windows窗體應用程序中引用了第三方生成文檔的工具。
在個人電腦上安裝的部署環境中有第三方工具的兩種不同版本 - v1.0和v2.0。
我只能建立我們的Windows窗體應用程序以使用第三方工具的v1.0或v2.0。爲此,我必須在構建之前在開發PC上安裝任一版本。這顯然是一個壞方法,因爲我必須每次卸載/重新安裝第三方工具。如果我有錯誤的版本建立在我的電腦上的用戶接收
Could not load file or assembly 'Interop.IManage, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=141424aa94e741g5' or one of its dependencies. The located assembly's
manifest definition does not match the assembly reference.
人們似乎只有一個參考的項目,該項目採用GAC引用的DLL。
C:\WINDOWS\assembly\GAC\Interop.iManage\1.0.0.0__141424aa94e741g\third.partyTool.dll
從而改變這個我卸載V1.0和V2.0安裝
C:\WINDOWS\assembly\GAC\Interop.iManage\2.0.0.0__141424aa94e741g\third.partyTool.dll
在我們的應用程序的部署方面,我們做的文件的簡單的XCOPY,沒有安裝程序, 。
有沒有一種方法可以在我們的應用程序中保存兩個引用,然後讓它在部署後使用正確的引用?或者是否有我可以用來解決這個問題的部署方法?
感謝
完全不清楚爲什麼您必須卸載其中一個版本。 GAC的意義在於你不必這樣做。所以不要。請將引用程序集保存在獨立的文件夾中,絕對不要在項目中直接引用GAC。一個紅旗:這是真的* .NET 1.x程序集? –