问题标签 [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.

0 投票
1 回答
3174 浏览

visual-studio-2008 - 无法获取 StrongNameKeyPair 的公钥

我在 Windows 2008 虚拟 PC 上运行了 Visual Studio 2008。我决定尝试 IDE 中内置的 Microsoft 测试工具(与我通常使用的 NUnit 不同)。使用单元测试向导,VS 将一个新的测试项目添加到源代码树,创建一堆单元测试。

当我尝试编译时,我收到“无法获取 StrongNameKeyPair 的公钥”错误。我已经检查了我的项目和单元测试项目的属性,并且我正在为每个项目签署一个密钥......

谷歌建议我调用“sn.exe -m n”“sn.exe -c”

但这不起作用。

有什么我可以尝试的想法吗?

0 投票
1 回答
1928 浏览

c++ - 如何在 VS2008 中强命名 C++ 程序集?

我没有在 Windows 上开发 C++ 的经验,但我是一名 C# 开发人员。

我有一些用 C++ 编写的本机 DLL 的包装器。(一个 LGPL 项目))。我打算从一个强命名的程序集中使用它。

如何设置 C++ 程序集的强命名?没有 C# 项目中可用的“签名”属性选项卡。

我想我需要编辑 vcproj 文件并引用密钥文件,例如

我在这个网站上找到的:http: //www.windows-tech.info/17/6a8f0ab94246fb61.php

我敢肯定,一旦我找到正确的参考,这将很容易。有人可以指出我正确的方向吗?

对于 C++ 开发人员来说,这是一个简单的问题,可以从中获得一些代表点。

谢谢。

0 投票
3 回答
3619 浏览

exception - 尝试使用 MoQ 时出现 StrongNameKeyPair 问题

我正在尝试为单元测试创​​建一个模拟 HttpContextBase。

单元测试在最后一条语句中失败

抛出异常:System.ArgumentException:无法获取 StrongNameKeyPair 的公钥..

System.Reflection.StrongNameKeyPair.nGetPublicKey(布尔导出,字节 [] 数组,字符串容器) System.Reflection.StrongNameKeyPair.get_PublicKey() System.AppDomain.InternalDefineDynamicAssembly(AssemblyName 名称,AssemblyBuilderAccess 访问,字符串目录,证据证据,PermissionSet requiredPermissions,PermissionSet optionalPermissions, PermissionSet deniedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes) System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access) Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName) Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName() Castle.DynamicProxy.ModuleScope .ObtainDynamicModule(Boolean isStrongNamed) Castle.DynamicProxy.Generators.Emitters.ClassEmitter。CreateTypeBuilder(ModuleScope 模块范围,字符串名称,类型(等等等等)

我用谷歌搜索,这里的建议似乎不起作用(更改 RSA 文件夹安全设置等)http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158

我认为这是正确的吗,因为HttpContextBaseSystem.Web.Abstraction是已签名程序集的一部分。Moq 实际上会尝试对动态程序集进行签名,但会失败?

0 投票
3 回答
220 浏览

.net - 为了使用 Hudson,如何使用 MSBuild 指定密钥密码?

我们刚刚设置了我们的 hudson 服务器来构建似乎工作正常的 .NET 项目,但是对于在签署程序集时需要密码的项目,我无法弄清楚如何告诉 hudson 密码是什么?

对我们来说,当开发人员第一次签出源代码并使用 Visual Studio 打开时会询问密码,这是如何存储的?我们可以在服务器的某个地方放置一个秘密文件吗?

0 投票
6 回答
9467 浏览

visual-studio-2010 - 如何使用 VS 2010 或 VS 2013 分析签名程序集

我有一个使用 AjaxControlToolkit.dll 和 Log4Net.dll 的网站。

当我尝试在 VS 2010 中运行性能分析工具时,它给了我以下警告:

AjaxControlToolkit.dll 已签名并且检测它将使其签名无效。如果您在没有仪器后事件的情况下继续对二进制文件重新签名,则它可能无法正确加载。

现在,如果我选择继续而不重新签名的选项,分析将开始,但程序集不会加载并给出 ASP.NET 异常。

0 投票
1 回答
1248 浏览

vb.net - Strong name validation failed on VB.NET Assembly

I have a VB.Net 1.1 application works just fine after compiling in Visual Studio. However, I want to use ILMerge to combine all the referenced assemblies into a single executable just to make it easier to move around. After I send it through ILMerge and try to run it I get the error

"Strong name validation failed for assembly.exe" .....

But none of my stuff is strong named! I saw this post here: Strong Name Validation Failed and tried running it through 'sn.exe -Vr merged.exe' but that gives me this error:

"merged.exe does not represent a strongly named assembly"

Has anyone else had this problem before? How do I fix it?

UPDATE:

I'm starting to feel like Strong name validation isn't the real problem here. I'm building against .NET v1.1 and running on a machine where that is the only .NET version installed (happens to be Windows 2003). The merged executable appears to die with that error on every Windows 2003 machine I try, but if I try to run it on a more modern OS (Vista) it at least starts, but that's not really a good test since the environment isn't fit for a real test.

  • I have verified that my app.config has the correct settings (specifying required and supported runtime version of v1.1.4322)
  • I use the /targetplatform:v1.1 option when running my assemblies through ILMerge.

ILMerge is definitely causing the problem (i.e. it works fine before I merge), I just don't know how to fix it.

0 投票
3 回答
853 浏览

.net - 强签名和更新引用程序集

我有两个第三方程序集:

Foo.dll

ReferencesFoo.dll

如前所述,ReferencesFoo.dll是一个引用Foo.dll

对于我的应用程序,我需要退出这些程序集。我将 ildasm/ilasm 与签名密钥结合使用来对它们进行签名,但是,ReferencesFoo.dll仍然包含(在它的清单中?)对Foo.dll旧公钥和公钥令牌的引用。

那么,如何使用我的密钥对两个 dll 进行签名,并在ReferencesFoo.dll不获取源代码和重新编译的情况下更新引用?

0 投票
1 回答
2991 浏览

.net - 使用命令行编译强命名程序集

我正在尝试使用 NAnt 来使用 vbc 编译器编译和签署程序集。我已经建立了一个项目,并且能够成功签署使用 VS2010 编译的程序集。当我尝试使用命令行对其进行签名时,我收到此错误:

我什至创建了一个非常简单的应用程序(只是一个 assemblyinfo.vb 文件),它不会使用 vbc.exe 进行编译和签名我做错了什么?

这是我的 assemblyinfo.vb:

test.pfx 与 assemblyinfo.vb 位于同一文件夹中

这是我尝试编译它的方式:

我也尝试过使用

并尝试使用没有 AssemblyDelaySign 和 AssemblyKeyFile 属性的 /keyfile 参数

如果我删除 AssemblyDelaySign 和 AssemblyKeyFile 属性并省略 /keyfile 命令行参数,它编译得很好。使用 vbc 执行此操作的正确方法是什么?

--编辑:我发现 MSBuild 也不喜欢像我在 AssemblyInfo.vb 中定义的那样具有 AssemblyKeyFile 属性,它给出了相同的失败消息。因此,我目前可以正确构建它的唯一方法是在项目上设置属性以告诉它要使用哪个密钥文件并签署程序集。

--编辑:这似乎可以在 VS2010 中构建项目的原因是 msbuild 在命令行上将 /keycontainer 传递给 vbc.exe,而不是使用 /keyfile。仍然不知道如何使用 /keyfile 命令行参数。

0 投票
2 回答
47531 浏览

c# - .NET 中的“强名称”是什么?

可能重复:
什么是强命名以及如何对二进制文件进行强命名?

实际上,昨天我参加了一个采访。他们在那里问了我 1 个关于强名称的问题。我无法猜测它是什么?请解释一下。谢谢。

0 投票
1 回答
1417 浏览

assemblies - 如何将强名称分配给程序集?

我使用 - 创建了强名称 -

nao 如何将此键分配给任何程序集?我必须在哪里使用gacutil