工程iis部署后运行时报错,信息如下:
System.IO.FileLoadException: 未能加载文件或程序集“System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
文件名:“System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”
查看错误信息应该是不同的项目,使用了同一类库的不同版本导致问题,可在vs编译解决方案时并没有问题
着手解决,突然想到编译时将警告信息直接忽略了,遂重新编译解决方案,查看警告信息,发现确实有一个类库版本的警告,双击警告,vs会直接自动解决,其实就是在web.config中增加了一个指定高版本声明,声明如下:
<configuration>
<..略..>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<..略..>
</configuration>
看来~偶尔也要注意一下警告信息了。。。