`
pcajax
  • 浏览: 2162756 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Enterprise Library启用签名后发生 PublicKeyToken错误,HRESULT:0x80131040解决

阅读更多


错误信息如下:

创建 dataConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

起因:

对Enterprise Library加入了签名,然后被应用程序调用,编译可以通过,程序能够运行,就是在调用Enterprise Library的时候就出错。

解决办法:

在App.Config的如下内容中,修改PublicKeyToken=null为PublicKeyToken=你的公钥标记

    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>

修改为
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c6e8e2756ff53597"/>


公钥标记的取法如下,也可以参考我得另外一篇Blog

1、使用sn.exe 工具,生成一个 snk 文件   [sn -k keyfile.snk]

(这里产生的私钥就是你签名时候使用的私钥,如果已经有了,就不能再产生)

-k [keysize] outfile
生成一个指定大小的新 RSACryptoServiceProvider 密钥并将其写入指定的文件。公钥和私钥都写入该文件。
如果不指定密钥大小,并且已安装了 Microsoft Enhanced Cryptographic Provider,则默认情况下生成 1,024 位的密钥;否则,生成 512 位的密钥。

2、提取公钥到一个文件
[sn -p keyfile.snk publickey.pk]

-p infile outfile
从 infile 中的密钥对提取公钥并将其存储在 outfile 中。

3、 显示出公钥,这个一定要记住,后面用。
[sn -tp publickey.pk]

-t[p] infile
显示存储在 infile 中的公钥的标记。infile 的内容必须是以前使用 -p 从密钥对文件生成的公钥。不要使用 -t[p] 选项直接从密钥对文件提取该标记。

从CMD窗口中复制“公钥标记为 c6e8e2756ff53597”的内容,放入你的PublicKeyToken处


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cnming/archive/2007/07/15/1691714.aspx

分享到:
评论

相关推荐

    log4net.dll 1.2.11.0

    log4net.dll 1.2.11.0 未能加载文件或程序集“log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。找到的程序集清单定义与... (异常来自 HRESULT:0x80131040)

    log4net.dll 1.2.10.0

    未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

    log4net.rar

    log4net.dll 1.2.11.0 未能加载文件或程序集“log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。找到的程序集清单定义与... (异常来自 HRESULT:0x80131040)

    Mono.Security.dll

    未能加载文件或程序集“Mono.Security, Version=2.0.... (异常来自 HRESULT:0x80131040) 文件名:“Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756 2.0版本的C# vb.net都能用

    使用微软企业类库Microsoft Enterprise Library4.0访问达梦数据库

    Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; ;Database=your_database;User ID=your_user;Password=your_password;" /&gt; ```...

    WCF服务中如何配置Microsoft.Practices.EnterpriseLibrary

    **标题:“WCF服务中如何配置Microsoft.Practices.EnterpriseLibrary”** 在Windows Communication Foundation(WCF)服务中,Microsoft.Practices.EnterpriseLibrary是一个强大的应用程序框架,它提供了多种实用...

    Autofac 未能加载程序集 system.core

    未能加载文件或程序集“System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”或它的某一个依赖项。给定程序集名称或基本代码无效。 (异常来自 HRESULT:0x80131047)

    VC90_x86Runtime_6161_release

    "Microsoft.VC90.ATL,versio ="9.0.30729.6161",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture=x86,type="win32".Please refer to Help and Support for more information.HRESULT:0x80070BC9.

    DatabaseFactory.CreateDatabase提示错误,确实dll引用

    未能加载文件或程序集“Microsoft.Practices.ObjectBuilder, Version=1.0.51205.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。 说明: 执行当前 Web 请求期间,出现未处理的...

    给第三方dll强签名

    在.NET框架中,强名称(Strong Name)是一种用于标识组件的独特标识,它包含版本信息、公钥和数字签名。强名称对于确保组件的完整性和防止恶意替换至关重要。当我们开发一个项目并希望它具有强名称时,所有引用的...

    vs2008中Ajax错误:Sys未定义

    ### VS2008中Ajax错误:“Sys未定义”的解决方法 #### 一、问题概述 在使用Visual Studio 2008进行Web开发时,可能会遇到一个常见的错误:“Sys未定义”。这个问题通常出现在尝试使用ASP.NET AJAX框架时,由于某些...

    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

    此类错误通常发生在尝试运行使用了 ASP.NET AJAX 扩展功能的应用程序时。错误的根本原因在于缺少必要的程序集 `System.Web.Extensions.dll` 及其相关依赖项。 #### 二、程序集简介 `System.Web.Extensions` 是一个...

    "System.Xaml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"或它的

    "System.Xaml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"或它的某一个依赖项。系统找不到指定的文件。 成功解决 只要打开 离成功更近一步 花了很久才成功的解决这个问题

    Microsoft.SharePoint.Library.dll

    Microsoft.SharePoint.Library.dll ...Microsoft.SharePoint.Library, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c 此dll并非位于14目录下的某个文件夹。而是位于GAC中。

    IIS出错的解决方案.docx

    IIS 错误解决方案 IIS(Internet Information Services)是微软公司推出的基于Windows操作系统的一种Web服务器软件。它可以提供网站托管、FTP 服务器、SMTP 服务器、NNTP 服务器等功能。但是,在实际使用过程中,...

    System.Web.Extensions.dll

    Parser Error Message: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, ...出现该错误解决办法 将System.Web.Extensions.dll 与System.Web.Extensions.Design.dll 放到项目BIN目录

    64位未能加载程序集……,version…解决办法

    ### 64位系统下未能加载程序集……,version……,culture=neutral,publickeytoken=……的问题及解决办法 #### 问题概述 在开发过程中,可能会遇到“未能加载程序集……,version……,culture=neutral,...

    EncryptSecurityField

    Microsoft.Practices.EnterpriseLibrary.Validation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; &lt;validator type="Microsoft.Practices.EnterpriseLibrary.Validation...

    asp.net 配置文件讲解

    type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" /&gt; ...

Global site tag (gtag.js) - Google Analytics