RegAsm使用Microsoft.Bcl.Async
以下消息組件用於.NET 4.0失敗:RegAsm未能使用Microsoft.Bcl.Async
RegAsm : error RA0000 : Could not load file or assembly
'System.Threading.Tasks, Version=1.5.11.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
The located assembly's manifest definition does not match
the assembly reference. (Exception from HRESULT: 0x80131040)
我的組件(MyAssembly.dll
)使用了最新的Microsoft.Bcl.Async
NuGet包,這裏的項目packages.config
:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.6" targetFramework="net40" />
<package id="Microsoft.Bcl.Async" version="1.0.165" targetFramework="net40" />
<package id="Microsoft.Bcl.Build" version="1.0.13" targetFramework="net40" />
</packages>
它捆綁System.Threading.Tasks.dll
版本:2.6.6.0這是NuGet包的一部分。目標系統上沒有其他System.Threading.Tasks.dll
(Win7與.NET 4.0,但沒有.NET 4.5),無論是在GAC還是其他地方。
這裏是MyAssembly.dll.config
,它已經正確bindingRedirect
元素System.Threading.Tasks
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.6.0" newVersion="2.6.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.6.0" newVersion="2.6.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.6.0" newVersion="2.6.6.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
我的問題:不RegAsm不使用MyAssembly.dll.config
?我如何使其工作,因此它可以解決bindingRedirect
說明?
不錯的工作 - 謝謝你。版本號現在是2.6.8.0,但這工作正常。 –