- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 asp.net 4.0 项目,它使用几个依赖于 log4net 版本 1.2.10.0 的框架。今天我尝试包含一个依赖于 log4net 版本 1.2.11.0 的新框架,从那时起我就陷入困境:
log4net 1.2.10.0 具有 publickeytoken = 1b44e1d426115821
log4net 1.2.11.0 具有 publickeytoken = 669e0ddf0bb1aa2a
由于这些不同,我无法通过 web.config 中的运行时元素使用程序集重定向(使所有框架使用相同版本的 log4net)或代码库(使新框架使用版本 1.2.11.0)。
我有什么选择?
(为什么 log4net 会在版本之间不断更改 publickeytokens,据我所知,丢失的 key 是版本 1.2.9.0 和 1.2.10.0 之间切换的原因,他们是否再次丢失了 key ?我会如果他们需要的话,请自愿保管我的保管箱以确保其安全...)
编辑:好的,所以 log4net 人员显然认为使用两个 key 发布是一个好主意,但这意味着您使用的每个框架都需要就达成一致 他们喜欢的两种风格,或者这些框架不能在同一个应用程序域中并行工作。我是唯一一个认为这是一个可怕想法的人吗?如果每个人都这样做,那么一切都会崩溃,对吧?
Edit2:正如我所说,我没有在业务代码中使用log4net,但我使用了几个依赖于1.2.10.0的框架,当我尝试使用依赖于1.2.11.0的新框架时出现了问题(新 key ),所以 Stefans 的答案不适用,因为新框架将期望新 key ,而不是旧 key
最佳答案
这就是我在 1.2.11.0 版本上工作的方法。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.10.0"
newVersion="1.2.11.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
关于.net - 我如何解决 log4net 不断更改 publickeytoken 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8743992/
每个签名的 .NET 都有一个公钥 token (8 个字节)和一个公钥(128 个字节)。 两者有什么区别,为什么我们需要两个公共(public)“ key ”? 最佳答案 公钥 token 只是
如何从 snk 文件中获取 PublicKeyToken?使用命令行工具。我想过使用sn.exe,但是,找不到合适的参数。 最佳答案 如果您想使用 sn.exe工具: sn -p yourkey.sn
如果我从我的项目 C# 文件夹中打开 Resources.resx,我会看到类似这样的内容: ..\Resources\picture.png;System.Drawing.Bitmap,
Could not load file or assembly 'NCrawler.GeckoProcessor, Version=3.0.0.0, Culture=neutral, PublicKe
我需要在我的 web.config 文件中重新创建一个如下所示的提供程序: 但是,我收到一个运行时错误,提示无法加载此程序集,我认为这是因为我的 PublicKey
我在一个遗留项目上工作,必须支持同一个 dll 的 8 个不同版本。我可以访问库源代码,因此我可以自己构建这些 dll。 dll 是强签名的,每个都有自己的版本号 3.6.0.0、3.7.0.1 等。
我在编译托管 DLL 项目时遇到问题。该解决方案由两个项目组成,第一个是用 C# 编写的 .NET DLL,另一个是直接引用 C# 项目的托管 C++ DLL。 这两个项目/DLL 都使用磁盘上的 s
我正在使用以下代码: AppDomain.CurrentDomain.AssemblyLoad += (sender, args) => { var token = args.LoadedAs
我正在尝试使用这篇博文中的建议获取针对 Asp.Net Identity 的瑞典语本地化错误消息:How to localize ASP.NET Identity UserName and Passw
我的 app.config 中有以下内容。 ... Fusion 日志记录告诉我它没有在 bin2 中查
希望我什至能正确地问我的问题。我在尝试序列化特定对象时遇到以下异常(我熟悉使用标准 [Serializable] 属性) A first chance exception of type 'Syste
我正在按照 2006 年 Microsoft .Net 类(class)工作簿中的说明进行其中一项练习。 (具体来说,这门类(class)是 MS2349B,我正在做模块 4 练习 2。)。这些练习似
{"Could not load file or assembly 'AssemblyName, PublicKeyToken=null' or one of its dependencies. Th
我们有一个 asp.net 4.0 项目,它使用几个依赖于 log4net 版本 1.2.10.0 的框架。今天我尝试包含一个依赖于 log4net 版本 1.2.11.0 的新框架,从那时起我就陷入
我正在使用 PRISM 和我在 CodePlex 中找到的新控件:WPF 属性网格 http://wpg.codeplex.com/ 当我测试 DEMO 时,一切进展顺利。 我还没有开始使用 PRIS
我向我的应用程序添加了一条 UPDATE 语句,该语句运行良好。它正确更新数据库,除了四个错误消息之外,我没有看到任何问题。这是什么意思? Error 1 Type Microsoft.Dat
是否可以从 GAC 中卸载所有具有特定 PublicKeyToken 的程序集? 我接受命令行(gacutil.exe 等)或通过 C# 的解决方案。 编辑: 仅供引用,我可以通过 Windows 资
我必须在我的项目中使用一些引用程序集 XXXXX 的 dll 文件。我现在在我的项目中有这个程序集的更新版本,但是当我运行我的项目时我得到错误:Could not load file or assem
使用来自 Docusign、Twilio 和 Auth0 的 API。所有 3 个都将 RestSharp.dll 作为依赖项。 如果我使用 Docusign 包中包含的 RestSharp.dll,
我有一个在开发环境中引用此程序集的应用程序: name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc
我是一名优秀的程序员,十分优秀!