问题标签 [strongname]
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.
visual-studio-2003 - 如何在 VS2003 中给 .net 1.1 dll 起一个强名称
我有一个 .net 1.1 dll,需要对遗留项目进行数字签名。我创建了一个 .snk 文件。我必须在 Visual Studio 中采取哪些步骤来应用签名?
c# - 如何找到程序集的完全限定名称?
如何找出我的程序集的完全限定名称,例如:
我已经设法使用sn.exe
SDK 中的 PublicKeyToken 获得了我的 PublicKeyToken,但我想轻松获得完整的限定名称。
.net - 您如何以编程方式(重新)签署具有强名称的 .NET 程序集?
除了调用命令行向程序集添加强名称之外,是否有任何 API 可以让您在程序集被剥夺其强名称后退出该程序集?
.net - Satellite Assembly 版本必须与基本版本匹配吗?
我刚刚遇到了一种情况,我需要使用我们其中一个程序集的新版本来修补发行版。我所有的程序集都是强名称,这是一个 Windows 窗体应用程序。我编辑了我的 App.config 以进行适当的重新映射,一切都很好,直到我们使用本地化版本测试了我们的软件。我们看到的问题是现有的附属程序集没有加载并且我们没有看到本地化的资源。我能找到的唯一解决方案是使用基本程序集作为模板,使用程序集链接器重建附属程序集。
几个问题:
如果我的基础程序集是强命名的,我的附属程序集也必须是强命名的吗?就我而言,我没有使用 GAC。
为什么我的附属程序集不使用我的 App.config 中指定的重定向?
.net - 将对象反序列化为现在已签名和版本控制的程序集
我曾经用 BinaryFormatter (c#) 序列化树视图。执行此操作并包含所有可序列化类的程序集现在具有强名称并已签名并且还获得了新版本号(但是,实现没有改变)。
当我尝试反序列化 byte[] 数组时,该行
产生 ArgumentNullException。(参数名称:类型)
我以为是版本号的问题,所以我实现了一个自己的Binder。我覆盖了 BindToType 方法并确保版本已更正并返回正确的类型。
但是,在程序离开 BindToType 方法的那一刻,我仍然得到上面提到的异常。
我该如何解决?
.net - 程序集重定向未按预期工作
我正在尝试在我的项目程序集中引入强签名。
我的项目输出保存在 XML 中,并且提到了一个类型(在签名之前):
在所有程序集都使用带有令牌的公钥 622edca63ee1770c 进行签名之后。我在 app.config 文件中引入了 <assemblyBinding> 块,如下所示:
我仍然收到错误:
无法加载文件或程序集“EPGWidget,版本=1.0.2406.20198,Culture=neutral,PublicKeyToken=622edca63ee1770c”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
当一个代码片段像:
以下被执行。但是,它适用于:
.net - 应该签署互操作程序集吗?
我们有一组用 VC++ 开发的 COM 组件。当对此类组件的引用添加到 .NET 项目时,Visual Studio 会生成一个互操作程序集。我们现在有一组这样的程序集。
在运行我们的日常构建时,我们使用数字签名对所有生成的二进制文件进行签名。互操作程序集没有签名,因为我们不认为我们是作者 - 任何人都可以使用 Visual Studio 并生成相同的程序集。
我们是否也应该签署互操作程序集?我们是否也应该使用强名称(sn.exe 实用程序)对它们进行签名?这样做的原因是什么?
.net - 我需要多少个 .snk 文件?
假设我有几个 .NET 程序集,并且想用一个强名称对它们中的每一个进行签名。一个密钥对(一个 .snk 文件)是否足够,还是我需要为每个程序集生成一对?我必须发布(每个)密钥对的公钥吗?
.net - 我需要从 .snk 文件中发布公钥吗?
从 sn.exe 实用程序的描述和这个问题中,我看到公钥的副本被添加到使用强名称签名的每个程序集中。这足以验证程序集二进制文件没有被更改。
但是如何验证给定的程序集确实是用给定的密钥对签名并由给定的公司编译的呢?任何人都可以生成自己的密钥对,生成一些程序集并用他的密钥对进行签名。我是否需要发布公钥,以便那些想要验证程序集来源的人可以比较公钥?如果是这样,最好的方法是什么?
.net - 如何告诉我的 ASP.NET 应用程序使用任何版本的强命名程序集?
我有一个使用自定义 .NET 库(一个 .DLL 文件)的 ASP.NET 应用程序。该 .DLL 文件是强命名的。该库有频繁的小更新,我希望能够在不重新编译应用程序的情况下更新这个 .DLL。必须预编译该应用程序,因为我不想将它的源代码提供给我的客户(不是说它不能被反编译,但这不是重点)。
这可以以某种方式完成吗?目前我只是收到一个错误,即 .DLL 的版本错误。