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,发现是未强签名版本。
([system.reflection.assembly]::loadfile("D:\Web\bin\Zlib.Portable.dll")).FullName
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-master\packages\Zlib.Portable.Signed.1.11.0\lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid
打开Windows PowerShell使用以下命令比较新生成的Zlib.Portable.dll和原有的项目中Zlib.Portable.dll :

1 ([system.reflection.assembly]::loadfile("D:\Zlib.Portable.dll")).FullName
2
3 Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=431cba815f6a8b5b
4
5 ([system.reflection.assembly]::loadfile("D:\Web\bin\Zlib.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替换到服务器上,报错果然消失了!恢复正常
Google Review中Zlib.Portable报错的一种排查解决方案的更多相关文章
- 解决MyEclipse中的js报错的小方法
今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...
- 关于Entity Framework中的Attached报错相关解决方案的总结
关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...
- 关于Entity Framework中的Attached报错的完美解决方案终极版
之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- MyEclipse8.6中提交SVN报错
上周五(11月27日)的时候,从TortoiseSVN提交项目报错,然后直接从MyEclipse中检出来,修改后提交同样报错. MyEclipse8.6中提交SVN报错,错误提示如下: commit ...
- idea中编译项目报错 java: javacTask: 源版本 1.8 需要目标版本 1.8
问题如上面所叙: > idea中编译项目报错 java: javacTask: 源版本 1.8 需要目标版本 1.8 解决方案: > Setting->Compiler->Ja ...
- .vue文件在webstorm中es6语法报错解决方法
1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...
- pycharm 中 import requests 报错
一 , 使用Pycharm来抓取网页的时候,要导入requests模块,但是在pycharm中 import requests 报错. 原因: python中还没有安装requests库 解决办法: ...
- eclipse 中新建文件报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Buil
在eclipse中新建文件报错错误提示如下: The superclass "javax.servlet.http.HttpServlet" was not found on th ...
随机推荐
- js如何创建JSON对象
js如何创建JSON对象 一.总结 一句话总结:直接创建js数组和js对象即可,然后JSON.stringify就可以获取json字符串,js中的一切都是对象,而且js中的对象都是json对象 js ...
- P2048 [NOI2010]超级钢琴 (RMQ,堆)
大意: 给定n元素序列a, 定义一个区间的权值为区间内所有元素和, 求前k大的长度在[L,R]范围内的区间的权值和. 固定右端点, 转为查询左端点最小的前缀和, 可以用RMQ O(1)查询. 要求的是 ...
- zzuli 1430 多少个0
https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1430 1430: 多少个0 Time Limit: 1 Sec Memory Limit: 12 ...
- POJ-2689 Prime Distance (两重筛素数,区间平移)
Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13961 Accepted: 3725 D ...
- Oracle OAF 应用构建基础之实现控制器 (转)
原文地址: Oracle OAF 应用构建基础之实现控制器 设计一个OA Controller 如OA Framework Page解析中所描述的,OA Controller定义了web beans的 ...
- Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)
转载:http://blog.csdn.net/a_ran/article/details/43562429 int truncate(const char *path, off_t length); ...
- BZOJ1197 [HNOI2006]花仙子的魔法
其实是一道奇怪的DP题,蒟蒻又不会做... 看了Vfk的题解才算弄明白是怎么一回事: 令f[i, j]表示i维有j个球时最大切割部分,则 f[i, j] = f[i, j - 1] + f[i - 1 ...
- React教程-初入
学习了React很久,一直没有机会总结下,最近打算写一个简单的React,希望让初学者一看就懂,不走弯路,我尽量写的简明点好了开始吧!首页我们要利用npm安装 react(当然你也可以用引用方式)跟着 ...
- POJ 3352 Road Construction 双联通分量 难度:1
http://poj.org/problem?id=3352 有重边的话重边就不被包含在双连通里了 割点不一定连着割边,因为这个图不一定是点连通,所以可能出现反而多增加了双连通分量数的可能 必须要用割 ...
- 获取URL中的链接(可中文也可英文)
//既能获取中文url也能英文function getUrlParam(key) { // 获取参数 var url = window.location.search; // 正则筛选地址栏 var ...