我在项目中包含的其中一个库使用了System.Web.Extensions 3.5.0.0,它与我的Framework 2.0应用程序(使用C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\System.Web.Extensions.dll
)冲突。我可以想到3种可能的解决方案:
但是,我不确定这些决定的含义。即使我忽略了警告(解决方案1),应用程序似乎工作得非常好,但是忽略了我不完全理解的警告会让我感到烦恼......就像显示这样的警告一样。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
编辑:我认为#3不会起作用,因为我引用的是AjaxControlToolKit,它有自己对System.Web.Extensions
的引用。
答案 0 :(得分:0)
通过在参考的属性窗口中将“特定版本”设置为true,可以将应用程序配置为使用特定版本的程序集。这会阻止全局引用解析为最新版本的程序集。
如果您不确定您的全局引用及其可能解决的问题,您可以随时将必要的.dll复制到应用程序中的本地“Libraries”文件夹并直接引用它,而不是使用全局引用。
您可能还会发现this question and answer有用。