问题标签 [publickeytoken]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
24352 浏览

c# - 什么是公钥令牌,它是如何在程序集强名称中计算的?

什么是“公钥令牌”,它是如何在程序集强名称中计算的?

0 投票
10 回答
170973 浏览

.net - 如何找到特定 dll 的 PublicKeyToken?

我需要在我的 web.config 文件中重新创建一个提供程序,如下所示:

但是,我收到一个运行时错误,提示无法加载此程序集,我认为这是因为我的 PublicKeyToken 错误。如何查找我的程序集的 PublicKeyToken?

或者,我是否完全走错了路?

0 投票
3 回答
20847 浏览

.net - 具有不同公钥令牌的 .Net 程序集绑定重定向

如果旧版本上的公钥标记为空并在新版本上设置,是否可以在引用程序集的不同版本之间执行程序集绑定重定向?

例如,我有两个程序集...

如果以下程序集绑定重定向在 Asp.Net web.config 中工作...

0 投票
2 回答
9704 浏览

.net - 如何从 web.config 引用程序集?

我需要在 web.config 中添加对“System.XML.dll”程序集的引用(为了尝试解决问题,这里提到:扩展方法的问题:IXmlLineInfo)。

我试图将以下行添加到“程序集”部分:

这导致了一个错误:

说明:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并适当地修改您的配置文件。

解析器错误消息:无法加载文件或程序集“System.Xml,版本=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

老实说,我不确定是否正确指定了 version/Culture/PublicKeyToken。

我有几个不同版本的 System.XML.dll:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v3.5\Profile\Client\System.XML.dll
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client\System.XML.dll
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.XML.dll
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.Xml.dll
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\System.Xml.dll

此外,我在框架、框架 x64 等中的 GAC 中有一些程序集......

问题1:

我需要哪个组件?

问题2:(已过时)

如何确定确切的程序集版本和 publicKeyToken?

PS有趣的事情,当我发布问题时,我发现已经有一个'publickkeytoken'标签并且它包含问题2的答案:)

非常感谢!

0 投票
0 回答
1453 浏览

asp.net - publickeytoken 区分大小写 - ASP.Net web.config 问题

我最近去为 Win2003 服务器部署一个 asp.net 解决方案。

我收到了错误消息,这些错误消息涉及据称丢失的程序集。

事实证明,我的开发机器(XP SP3 32 位)上的 publickeytokens 是大写的,而服务器上的相同文件(目前无法检查它是 32 位还是 64 位)具有小写的 publickeytokens。

(我用 win explorer 去 c:\windows\assembly)

修改 web.config 使 publickeytoken 与服务器上的程序集相匹配就可以了,并且应用程序可以正常工作。

我已经尝试研究差异的原因,但没有发现任何东西。

任何人都可以帮助或指出正确的方向,为什么不同机器上的 publickeytokens 会在不同的情况下?

非常感谢

尼尔

0 投票
6 回答
36529 浏览

.net - 我如何解决 log4net 不断变化的 publickeytoken

我们有一个 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,据我所知,丢失的密钥是在版本 1.2.9.0 和 1.2.10.0 之间切换的原因,他们是否又丢失了密钥?我会自愿提供我的保管箱如果他们需要,请确保其安全...)

编辑:好的,所以 log4net 的家伙显然认为用两个键发布是个好主意,但这意味着你使用的每个框架都需要就他们喜欢的两种风格中的一种达成一致,否则这些框架不能工作并排在同一个应用程序域中。只有我一个人觉得这是个可怕的主意吗?如果每个人都这样做,那么一切都会崩溃,对吗?

Edit2:正如我所说,我没有在我的业务代码中使用 log4net,但我使用了几个依赖于 1.2.10.0 的框架,当我尝试使用依赖于 1.2.11.0 的新框架时出现问题(新键),所以 Stefans 的回答不适用,因为新框架会期待新的密钥,而不是旧的

0 投票
1 回答
2703 浏览

gac - 如何从 GAC 获取 PublicKeyToken

我一直在关注本指南,其中介绍了使用 gacutil 将文件添加到 GAC。

我已完成此步骤,但似乎无法从文件中读取 Keytoken。

它说导航到您添加到 GAC 的程序集,右键单击并查看属性。但是,当我这样做时,属性页面上没有提到 PKT。

假设我在这里误解了一些东西,因为似乎没有其他人遇到这个问题,我哪里出错了?如何查看 PublickKeyToken?

编辑:已解决。

这很容易。

0 投票
1 回答
1642 浏览

c# - 引用程序集时,是否可以坚持使用版本号但忽略 publickeytoken?(即接受签名/未签名)

根据问题,

是否可以指定对另一个程序集的引用,需要特定版本但坚持特定的 publickeytoken?我的直觉是没有(因为我猜测何时指定版本,所以使用了包括版本和 pkt 的整个完全限定程序集名称)

所以如果我有这种情况:

程序集 A 的 v1.0(无符号) 程序集 B 的 v1.0,需要程序集 A 的 v1.0

我可以在没有源代码的情况下重新签署程序集(通过 ildasm + ilasm),以便我有 A 和 B 的工作版本,并签名吗?

0 投票
1 回答
2804 浏览

c# - 如何在 publickeytoken == null 时使用 C# 从 Dll 获取公共方法

我想从 dll 中找到公共用户定义函数publickeytoken == null

如何解决这个问题

即使我试过这个来查找 publictokenkey 它会重新运行 0 个字节

0 投票
4 回答
2945 浏览

android - 更新 Xamarin Studio 后的警告

我刚刚将 Xamarin Studio 更新到最新版本(Xamarin.Android 版本:4.6.4(商业版)),更新后我收到很多警告......:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:参考'mscorlib,版本= 2.0.5.0,Culture=neutral,PublicKeyToken=xxxxx'未解决(TrackandTrace.机器人)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:参考'Mono.Android,版本= 0.0.0.0,文化=中性,PublicKeyToken=xxxx'未解决( TrackandTrace.Droid)

我已经尝试删除引用并重新添加它而没有任何效果。

更新: 即使我创建了一个新项目,我从一开始就收到 2 个错误。这些错误导致无法构建 android 项目。