我的c#應用程序使用兩個不同的預打包解析器,每個解壓器都使用不同的強版本Antlr.Runtime.dll。由於同一程序集的不同版本,Visual c#項目無法運行
應用程序拋出一個FileLoadException,顯然是因爲它正確加載了其中一個版本並找不到其他版本。
<應用程序> \ bin \ x86 \ Debug目錄只包含dll的一個副本。
請注意,我不能使用程序集別名,因爲我的代碼不會直接調用版本化程序集 - 它們只是通過分析程序集間接調用。
這是否指示Visual Studio將不同版本的dll放在單獨的目錄中,因爲它們具有相同的名稱?我想盡可能避免使用GAC。
我讀過很多「並排」和相關文章,但似乎沒有解決這個問題。
的GAC是爲了解決這個問題。需要30秒。實現AppDomain.AssemblyResolve並編寫後期構建事件以將副本放在單獨的目錄中需要更長的時間。 – 2011-02-01 12:18:18
@hans - 打破xcopy部署。 – bright 2011-02-01 14:25:05