问题标签 [sn]

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 回答
679 浏览

linux - Version 0.0.0.0 when creating strong named assembly

We're building a C# wrapper for a C library in embedded Linux, and we want to install it into the GAC of the target system.

To do that, I've used sn to create a keypair and mcs to compile the code:

Now, once that's built, I use gacutil to inject it into the GAC with:

What I end up with is the correct file structure but the version number is set to 0.0.0.0:

I want the version of the wrapper to match that of the underlying C code being used so my question is (hopefully) a simple one. Where is that current version coming from, and how do I get it to be 3.14.15.9 (for example)?

0 投票
1 回答
3330 浏览

powershell - PowershellScript ObjectNotFoundException CommandNotFoundException 路径

我用 SNK 文件签署我的 Dll。这是通过视觉工作室构建完成的,没有问题。

现在我想验证我真正给它们起一个强名称的 DLL。我找到了这个 powershell script,但我认为 powershell 讨厌我的路径。

我的错误是

在行:1 个字符:19

  • C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 ...
  • ~~~
    • CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
    • 完全限定错误 ID:CommandNotFoundException

我翻译了更多的错误信息。

术语“x86”未被识别为 cmdlet、函数、脚本文件或可执行文件的名称。检查名称的拼写,或者路径是否正确(如果包含),然后重试。

我必须逃避x86吗?如果是的话 - 我该怎么做?我试过这个

我试过了,结果都是一样的。

Powershell 版本

主要:5
次要:1 构建:14393 修订:103

编辑

我修复了我的 snPath

我举了更多的例子

更多错误信息

0 投票
1 回答
2190 浏览

r - 使用 R 中的 sn 包从偏态正态分布中绘制数据

我需要表征数据的偏态正态分布的位置、形状和尺度,然后使用这些参数从具有相同参数的偏态正态分布中随机抽取值。在过去,我使用snR 中的包来执行此操作。因此,例如,如果我有一个v遵循偏正态分布的数据向量 ,我将使用以下sn.em函数估计位置、形状和比例:

rsnorm然后,我将使用该函数从具有相同参数的倾斜法线 dsitrubtion 中随机绘制:

包中不再存在这两个功能sn如何使用包中的不同功能sn或不同的包一起执行此操作?

0 投票
1 回答
174 浏览

visual-studio-extensions - 用于安装 .pfx 密钥对 sn.exe 的 Visual Studio 2015 扩展

我正在使用 vs 2013 的 vscommands 扩展,只需右键单击错误并应用修复即可将 .pfx 密钥导入项目。

在 vs 2015 中,我没有找到任何扩展来做到这一点,我必须手动输入命令

是否有任何扩展可以帮助更轻松地输入密码命令?

0 投票
1 回答
156 浏览

.net - Assembly.Load 在测试用例中失败(强命名验证也失败)......为什么?

我一直在设置一些测试用例,其中一部分是想确保我可以运行一些 EntityFramework 测试。

我无法加载驱动程序(在这种情况下为 Npgsql)。我可以在应用程序中加载它,但不能在测试用例中加载。

我已经整理了一个显示问题的简单项目。 https://github.com/scornflake/StrongNameNightmare

a) 从应用程序加载程序集 b) 在测试用例中,相同的 Assembly.Load 失败(无法加载文件或程序集 'Npgsql.EntityFrameworkCore.PostgreSQL, Version=2.0.2.0, Culture=neutral, PublicKeyToken= 5d8b90d52f46fda7' 或其依赖项之一。无法验证强名称签名。程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。)

两个文件(packages\ 中的一个和复制到程序集输出文件夹中的一个)的 SHA1 相同:

  • 包的 SHA1 哈希\Npgsql.EntityFrameworkCore.PostgreSQL.2.0.2\lib\netstandard2.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll:29261f08a466e3b5c24ff8d1aa1810b29c3ff8a5
  • Tests\bin\Debug\Npgsql.EntityFrameworkCore.PostgreSQL.dll 的 SHA1 哈希:29261f08a466e3b5c24ff8d1aa1810b29c3ff8a5

packages\Npgsql.EntityFrameworkCore.PostgreSQL.2.0.2\lib\netstandard2.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll 的“sn -v”有效。

Tests\bin\Debug\Npgsql.EntityFrameworkCore.PostgreSQL.dll 的“sn -v”失败

我假设未能验证 Npgsql 驱动程序的“测试”版本的强名称是在测试中加载程序集失败的根本原因。

我尝试禁用强名称验证 (sn -Vr *,*),但没有任何效果。

我在这里有点茫然。我不是 VS/Assemblies 方面的专家,也许有人可以解释为什么一个程序集不会在不同的文件夹中通过强名称验证?对我来说似乎很奇怪。

0 投票
0 回答
201 浏览

assemblies - 迁移现有密钥容器以实现强命名

如何将密钥容器从一台机器迁移到另一台机器?

我在旧机器上有一个用于强命名程序集的密钥容器。
目前我正在将项目迁移到更新的机器上。
不幸的是,旧机器上的密钥容器被标记为不可导出,但我设法使用mimikatz导出它。
结果是一个 PVK 文件(私钥),我使用 Chilkat library 将其转换为 XML 文件 (RSAKeyValue )
然后可以使用 aspnet_regiis 将 xml 文件导入到新机器上的密钥容器中。
但是,在新机器上构建项目时,我收到此链接器错误:

LINK:致命错误 LNK1256:ALINK 操作失败(80040405):密钥容器名称“...”不存在

我注意到使用 aspnet_regiis 和 sn.exe 创建的密钥容器之间存在差异。
链接器可以找到使用 sn.exe 生成的密钥容器,但找不到使用 aspnet_regiis 生成的密钥容器(上面的 LNK1256 错误)。
但是为了安装与 sn.exe 相同的密钥容器,它需要是一个 .snk 文件,我还没有设法转换它。
如果我可以将其转换为 .snk 文件,则不必将其导入密钥容器,因为我也可以使用强名称密钥文件进行签名。

0 投票
0 回答
235 浏览

c# - 我想指定 sn.exe 文件的路径,但该选择哪个?

我想指定sn.exe某个程序的文件路径,但我不知道哪个对项目来说是正确的,因为该文件中有.NET 2.0多个文件夹。Microsoft SDKssn.exe

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin路径之后,我得到了多个文件夹,NETFX 4.x.x tools每个文件夹都包含sn.exe. 为项目特别选择哪一个.NET 2.0

0 投票
1 回答
403 浏览

visual-studio - Find the secure name (sn.exe) container name for Visual Studio

I have a software that must be signed by a pfx certificate during the build. The machine on which I build the solution is a fresh new machine and we are trying to not perform any configuration by hand but only via scripts during the build process.

When I launch the build I get this error from msbuild

[error]C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5):

Error MSB3325: Cannot import the following key file: Key.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_07C5CCD85188D111

Usually I solve this by executing in the Developer Console of Visual Studio on the build machine:

sn -i VS_KEY_07C5CCD85188D111 path\to\Key.pfx

But, as told before, I would like that the build automatically retrieves the container name and imports the certificate as a step prior to the msbuild command. The problem I have is that I don't know how to retrieve the container name Visual Studio wants to use, because it changes depending on the machine I run the build on.

Do you know how Visual Studio computes that container name? Or how to retrieve it in anyway?

0 投票
1 回答
225 浏览

python - 使用python绘制SN曲线(非线性回归模型)

输入数据和函数的形式是已知的。你必须找出函数的系数。这些需要确定的系数的值也是已知的(60.351、4.388、4.806)。在编写代码时,我受到以下启发: 使用 python 进行非线性回归 唯一的区别在于输入数据和函数的定义。

我相信当我使用 log10() 函数时,初始参数存在一些问题。错误如下: 错误捕获

0 投票
0 回答
29 浏览

visual-studio - 自代码签名是否提供任何保护?

我在 Visual Studio 中对我的应用程序进行代码签名(带密码的强名称密钥文件 pfx)。我的理解是,一旦签名,程序集将无法用编辑过的代码重新组装。

我对此进行了测试。我将 dll 反汇编为 il,更改了一些字符串值,然后能够使用 ilasm 成功重新组装。我不认为这是可能的。

那是因为代码是自签名的吗?