工作笔记【2010-7-7】

原文链接: http://www.cnblogs.com/huangwj21/archive/2010/07/07/1772916.html

今天遇到一个问题

用户在64bit 系统上用wtt, 我们这边是建议他用32bit 的wttsb去代替原本安装在系统上的64bit wtt client中的wttsb,这样以便browser namepace能够正确的load(browser namespace只在32bit程序下能够正常运行);

今天用户在用wtt run GetLocalizedString 时,wtt报错:Could not load 'C:\test\bootstrapper\de\MatsBoot.resources.dll'. FileLoadException...strong name validation failed HRESULT:0x8013141A.

查了一些资料,找到了原因以及解决方案

原因:算不算是一个.net framwork 的小bug,因为很多程序员在64bit system下debug/run基于.net framwork 的32bit application时,这个application会自动 load assembly in 32bit mode.此时.net 在验证strong name的时候,就出现了上面所提及到的错误。

解决方案: 需要用32bit的sn.exe 去注册那些需要取消 .net framework对strong name 验证的assembly, 取消之后,程序就可以运行成功了

具体的命令行: <path of 32bit sn.exe> -Vr <path of assembly>

问题解决了,可是看了自己写的东东。。。。感觉所谓原因,其实自己也是似懂非懂,也了解的不够彻底。所以写出来还比较牵强的。。。。。。

转载于:https://www.cnblogs.com/huangwj21/archive/2010/07/07/1772916.html

猜你喜欢

转载自blog.csdn.net/weixin_30612769/article/details/94963590