问题标签 [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 回答
154 浏览

c# - VS2008 没有为重新编译的程序集获得正确的参考

我的客户是一家零售商,它使用 Microsoft Dynamics RMS 作为其前端,并使用 Sage 的 Simply Accounting 2010 作为其会计包。我正在尝试自动化一些将销售数据等从 RMS 转录到 SA 的过程。

RMS 使用 COM 与插件交互,因此我的程序集是强命名的(就此而言,RMS 的程序集也是如此)。但是,SA 的程序集不是强命名的,我一直在努力尝试强命名 SA 的程序集。

所以:我现在正在使用 ildasm 和 ilasm,有那么一秒钟它似乎工作了,我需要的程序集是强命名的。主程序集 Sage_SA.SDK.dll 引用 Sage_SA.Domain.dll 和 Sage_SA.Domain.Utility.dll。当我将所有 3 个新的强命名程序集添加到我的 VS2008 解决方案并尝试编译时,Sage_SA.SDK.dll 似乎无法正确识别其他 2 个程序集。具体来说,VS2008中的错误消息说:类型'XXX'是在未引用的程序集中定义的。您必须添加对程序集“XXX”的引用。

如果我可以提供任何其他信息,请告诉我。

谢谢,

莱斯特

0 投票
4 回答
10333 浏览

visual-studio-2010 - 如何从 GAC 引用程序集?

我已将强命名程序集安装TestReflection到 GAC 中(我使用的是 .NET 4.0 和 VS 2010)。

不同版本的TestReflectionDLL 在 .NET 4.0 ( ) 的 GAC 中C:\WINDOWS\Microsoft.NET\assembly\GAC_32\TestReflection\,但是,程序集不会出现在 VS 2010 的“项目”->“添加引用”框中。

如何在设计时从另一个项目引用我在 GAC 中部署的程序集?

这个页面说:

您不能从全局程序集缓存 (GAC) 添加引用,因为它严格地是运行时环境的一部分。

参考这句话,我想知道如果需要的话,如何让你的项目的DLL共享程序集给其他消费者?

0 投票
2 回答
158 浏览

silverlight - 为 COM 注册了一个程序集,但仅适用于开发计算机

嘿,我想知道你们是否能看到什么是错误的/建议一个解决方案。

我有一个用 C# 构建的 COM 的 dll 程序集,我正在尝试从 Silverlight Out-of-browser 获取 COM 对象。我希望 siverlight 应用程序可以在计算机之间移动,因此我将所有必需的文件与一个批处理安装程序一起放在一个 zip 中,该批处理安装程序执行以下操作来注册程序集:

cd %windir%\Microsoft.NET\Framework\v4.0.30319\ RegAsm.exe "%USERPROFILE%\My Documents\Homework Clock\windowsHook.dll" /tlb /nologo

我的应用程序找到了程序集,它在我的开发计算机上运行良好,但是当我将我的应用程序移动到测试计算机(连同 dll 和任何其他必要的文件)时,我的批处理文件说它注册成功但应用程序没有找到它。

但是,当我在测试计算机上使用 C# 重建程序集并用重建的 dll 替换我从开发计算机移动的 dll 时,应用程序发现它很好。如果他们希望使用我的应用程序时不必使用 C# 重建程序集,这对我的客户来说会很方便,所以我想知道是否有办法解决这个问题。

我研究了这个问题一段时间,并认为这可能是因为我的程序集不是一个强命名程序集,因为我认为 C# 会自动执行此操作,所以我尝试在我的批处理文件中执行此操作,但它无法识别 'al ' 和 'sn' 命令生成加密密钥以赋予程序集一个强名称,我尝试在 C# 项目属性的“签名”选项卡中执行此操作,但我遇到了同样的问题。任何想法如何解决这一问题?

提前致谢

0 投票
1 回答
701 浏览

.net - .net:当我更新程序集版本时,它说:无法加载文件或程序集。需要强命名程序集

我有一个带有 C# 代码的程序集。这个程序集的版本是 1.0.0.0。当我将此程序集的数据序列化为二进制时,会序列化此程序集的信息。然后我将此程序集版本更新为 4.0.0.0,**

我删除签名

**。当我对程序集的数据进行反序列化时,会发生异常,即“无法加载文件或程序集'[AssemblyName],Version=1.0.0.0,Culture=neutral,PublicKeyToken=[TokenKey]'或其依赖项之一。需要强命名程序集。(来自 HRESULT 的异常:0x80131044)“。

如何将旧版本程序集重定向到新版本程序集?配置程序集绑定是否有效?

0 投票
2 回答
1700 浏览

.net - 关于强名称验证跳过的奇怪问题

我的 ASP.NET 应用程序正在使用没有强名称的程序集。当我在 IE 中运行它时,它会显示一条错误消息:

无法通过“xxxxx”加载文件或程序集。或其依赖项之一。无法验证强名称签名者。该程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。(来自 HRESULT 的异常:0x80131045)”

我使用sn.exe -Vr xxxx注册该程序集来跳过强名称验证,但它仍然显示该错误。什么可能导致此问题,接下来我可以做些什么来解决它?

0 投票
1 回答
1496 浏览

c# - Nant 签名错误:不代表强命名程序集

我正在尝试使用 delay-sign 命令运行 Nant,但它似乎不起作用。我在 Visual Studio 中对我的所有库进行了强烈命名:

属性 > 签名 > 签名已选中并选择 snk 文件

这可以构建并正常工作,但是当我尝试使用 Nant 进行编译时,出现错误:

[delay-sign] 延迟签署 2 个程序集。

[延迟符号] D:\BuildDir\bin\MyLibrary.dll 不代表强命名程序集

现在,如果我不尝试运行签名,这个 nant 构建工作正常,但是我的程序将无法正常工作。我的签名如下所示:

我认为我需要做一些其他事情来获得这些强命名,但我不确定是什么。有任何想法吗?谢谢你。

0 投票
1 回答
3243 浏览

c# - 如何强烈命名非托管 C++ Dll?

我正在开发一个使用EasyHook 库进行 DLL 注入的 C# 应用程序。EasyHook 要求使用它的任何应用程序都必须进行强命名。为了强命名应用程序,我需要确保我使用的所有库也都是强命名的。

这对我所有的托管库都很容易做到,但我也有一个非托管 c++ 库,我需要对其进行强命名。经过一番搜索,我似乎无法找到一种方法来签署我的非托管 dll,即使使用源代码也是如此。可以做到这一点,如果可以,我需要做什么?

感谢您的任何建议或帮助!

0 投票
2 回答
1992 浏览

c# - Strong name reusage with large number of projects

I am working for a big integration platform using Biztalk 2010 and VS2008 SSIS packages. Each interface is stored in one team project (TFS2010). On the root of the team project each interface is created with its unique name and underneath a default basic branch plan structure has been created (with Main, Dev, Release + branches when applicable, see TFS branching guideance from ALM rangers).

The issue is that each interface needs a strong name key because we want to be SCA compliant as far as possible and signing is part of the checks.

I don't want each interface to have its own strong name key, but only one strong name key for all the interfaces.

What is the best practice to handle this kind of reusable strong name key handling ?

0 投票
1 回答
476 浏览

.net - 强制代码合同使用 sn.exe 4.0

Code Contracts 重写器使用强名称 ( sn.exe) 实用程序对重写的程序集进行签名。但是在 VS 2010 的输出窗格中,我看到:

Microsoft (R) .NET Framework 强名称实用程序版本 3.5.30729.1

有没有办法强制使用sn.exe. 或者它没有任何区别?

0 投票
1 回答
893 浏览

.net - azman - 将 Interop.AZROLESLib.dll 注册到 GAC 的问题

自 2 -3 小时以来,我一直在努力使用 .net 框架配置工具将 Interop.AZROLESLib.dll 注册到 gac。错误显示“无法添加选定的程序集。程序集必须具有强名称.....”。请帮助创建强名称和其他 stpes。

谢谢