.net两个错误的解决方法

今天他们忽然给我打电话说前两天运行的程序突然出错了是公共语言库错误。
公共语言运行库检测到无效的程序。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.InvalidProgramException:   公共语言运行库检测到无效的程序。  
   
  源错误:    
   
  执行当前   Web   请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。      
   
  堆栈跟踪:    
   
   
  [InvalidProgramException:   公共语言运行库检测到无效的程序。]  
        SNMIS.snweb.HYDJ.Hcdsdwh.btnOk_Click(Object   sender,   EventArgs   e)   +0  
        System.Web.UI.WebControls.Button.OnClick(EventArgs   e)  
        System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String   eventArgument)  
        System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler   sourceControl,   String   eventArgument)  
        System.Web.UI.Page.RaisePostBackEvent(NameValueCollection   postData)  
        System.Web.UI.Page.ProcessRequestMain()  
运用了多种方法也没有解决问题。

后来发现是iis和aspnet之间动态链接库的问题。找不到很好的解决方法卸载aspnet和语言库组件重新安装还是不行,最后把iis和aspnet的组件都卸载,清空临时文件后,重新安装,问题解决了。

解决后又出现了新的问题“未能获取此实现的 CryptoAPI 加密服务提供程序(CSP)”,查找了很多网上的相关问题,没有很好的解决方法。最后在一个很不起眼的地方找到一篇文章说这个问题可以修改web.config的配置解决。

在asp.net的中,创建rsacryptoserviceprovider对象引发异常:system.security.cryptography.cryptographicexception: 未能获取此实现的 cryptoapi 加密服务提供程序(csp)。并且发现,如果在web.config中配置<identity impersonate="false" username="" password=""/>不会出现这个异常,而配置成<identity impersonate="true" username="" password=""/>则会引发这个异常。这种状况在windows 2000 + iis5和windows 2003 server + iis6的状况下都会发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值