zoukankan      html  css  js  c++  java
  • Google Review中Zlib.Portable报错的一种排查解决方案

    前几天遇到一个恶心的问题,跟同事一块解决了,在这里记录下过程。

    比较懒,直接转他的blog:

    http://www.cnblogs.com/caochenghua/p/6530053.html

    报错信息如下

    “System.IO.FileNotFoundException”类型的异常在 Google.Apis.dll 中发生,但未在用户代码中进行处理

    其他信息: 未能加载文件或程序集“Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=431cba815f6a8b5b”或它的某一个依赖项。系统找不到指定的文件。

    项目中已经包含了Zlib.Portable.dll ,查看了文件属性,确认版本号已经保持一致

    使用PowerShell查看现有Dll的PublicKeyToken,发现是未强签名版本。

    1   ([system.reflection.assembly]::loadfile("D:Webinlib.Portable.dll")).FullName
    2  
    3  Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=null

    那原因应该就在这里了,

    找到https://github.com/google/google-api-dotnet-client-samples代码并下载

    用Visual Studio打开下载的项目,点项目-》管理NuGet程序包,提示自动更新依赖的DLL文件,更新完成

    此时,我们需要的Zlib.Portable.dll已经可以在文件夹中显示了:google-api-dotnet-client-samples-masterpackageslib.Portable.Signed.1.11.0libportable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid

    打开Windows PowerShell使用以下命令比较新生成的Zlib.Portable.dll和原有的项目中Zlib.Portable.dll :

    复制代码
    1 ([system.reflection.assembly]::loadfile("D:lib.Portable.dll")).FullName
    2 
    3 Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=431cba815f6a8b5b
    4 
    5  ([system.reflection.assembly]::loadfile("D:Webinlib.Portable.dll")).FullName
    6 
    7 Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=null
    复制代码

    区别是后者PublicKeyToken=null前者不是,至此原因大概明了,没有强签名的dll已经不能使用了,Google Review API对此进行了更加严格的限制是导致报错的原因吧

    把新生成的Zlib.Portable.dll替换到服务器上,报错果然消失了!恢复正常

  • 相关阅读:
    PrintWriter write与println方法的区别
    java线程之一 单线程
    Android系列之ListView实现分页和类似异步加载效果(转载)
    Failed to fetch URL http://dlssl.google.com/android/repository/addons_list
    java rpc 综述(上)
    横竖屏切换时候Activity的生命周期
    【转载】C# 大数相乘
    ASP.NET 2.0 中使用PreviousPage的强类型属性
    人生一世
    SQL 中的indexof函数CHARINDEX
  • 原文地址:https://www.cnblogs.com/calmzeal/p/6553003.html
Copyright © 2011-2022 走看看