我有一个使用System.Web.Http.dll版本4的Umbraco 7.0网站,我想集成一个使用System.Web.Http.dll版本5的Web API 2项目。
我已经阅读并尝试了许多方法来尝试让两个dll都正常工作,但现在我不太确定它是否可行。
我期望工作的是将dll放在单独的文件夹中,并在web.config中引用它们。我尝试过的事情:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;c:\umbraco\dll\folder;c:\webapi\dll\folder"/>
</assemblyBinding>
</runtime>
</configuration>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
<codeBase version="4.0.0.0" href="FILE:c:\umbraco\dll\folder\System.Web.Http.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
<codeBase version="5.0.0.0" href="FILE:c:\webapi\dll\folder\System.Web.Http.dll"/>
</dependentAssembly>
我一直得到以下两个中的一个:
CS0012: The type 'System.Web.Http.HttpConfiguration' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
CS1705: Assembly 'WebApi2Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
答案 0 :(得分:0)
这是不可能的。 appdomain将加载其中一个dll,然后尝试上传另一个dll,但是你会遇到程序集不匹配错误。