混合编程编译完成的.dll文件放在 Assemblies文件夹中,过去一直没问题。今天突然加载不上,显示它not trusted ,doesn't have an authorized signature。这是咋回事啊,以前也遇到这问题我重新编译就行了,今天我全部重新编译好几次仍然不行。
除了符老师说的原因以外,还有一种可能,之前我也碰到过这种情况,原因是我编译的时候用的是新版本的SDK以及引用的新版本的托管dll,生成的程序集放到比较老的版本上用的时候就出现过这种情况。
那你的意思是,如果使用最新版本的ord或者ms就可避免这个问题吗?
不是最新版,而是您编译的时候使用的SDK,以及引用的托管dll版本(也就是安装的应用软件的版本),要跟使用您程序集的版本都要对应,否则就有可能出现这种问题,不过只要是最新版本基本上可以忽略这个问题了。
金 冯 said:那你的意思是,如果使用最新版本的ord或者ms就可避免这个问题吗?
郭老师的意思是,你编译生成的DLL是在你自己的机器上运行的,还是拿到了别人的机器上运行的?如果是在别人的机器上运行,有可能两台机器所用的ORD软件的版本不同。
如果就是在你的本机出现的这种情况,请打开配置变量对话框,查看MS_SECURITY_LEVEL这个变量的值是否是NONE?如下图所示: