我尝试了其他答案。我还尝试了多种恢复、升级、降级、重新安装 WebGrease 和 Antlr 软件包的组合。在运行时,我仍然收到与 LoaderExceptions 一起引发的 ReflectionTypeLoadException,它显示已被替换的旧 Antlr 的版本号 (3.4.1.9004)。
我还尝试了以下方法,这花了我几天时间进行测试,但都没有解决问题:
- 清除临时文件。
- 重新加载 Visual Studio 和解决方案。
- 重新启动我的开发计算机。
- 删除参考上的“特定版本”标志。
最终奏效的是在 web.config 文件中添加绑定重定向。由于 NuGet 也没有更新旧版本的 WebGrease,因此我将它们都替换为:
</runtime>
</assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
重新编译和部署我的应用程序后,它摆脱了抱怨。