我正在使用asp.net 4.0開發基於Web的應用程序。如何使程序集重定向在.net 4.0 web應用程序中工作
我在GAC中使用了一些dll,它們在老的dll上有一些嵌入的依賴關係。
我已配置程序集,以便依賴項重定向到我的機器上的dll的正確版本。
Could not load file or assembly 'ControlReferencedByMyDll, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXXX' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)
在我的ControlReferencedByMyDll的版本是:然而,這完全在3.5或更低版本的應用程序,當我嘗試基於相同的dll建立一個asp.net 4.0應用程序,它像一個錯誤扼流圈版本2.0.1.0。
我無法找到.NET 4.0 GAC配置實用程序,但在我的machine.config(在框架和.NET 4.0 Framework64兩個文件夾),我已經補上一句:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ControlReferencedByMyDll" PublicKeyToken="XXXXXXXXXXXXXXXX"/>
<bindingRedirect oldVersion="1.0.0.0-9.9.9.9" newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
到看看這是否是問題。
我甚至試圖將applyTo =「v2.0.50727」屬性添加到assemblyBinding以查看它是否有所作爲。
但它似乎沒有。
有沒有其他人有這個問題?更重要的是,任何人都可以幫我解決這個問題嗎?
好的,我發現了一些似乎可行的東西,儘管如果存在的話我仍然對看到更好的答案感興趣,也許有人可以啓發我爲什麼這會起作用。 我只是把上面指出的代碼直接放到我的web.config中,一切都很好。 – CStroliaDavis
相關:http://stackoverflow.com/questions/16678395/assemblybinding-bindingredirect-not-working-for-mvc4-app-with-t4mvcextensions – user423430