.NET 强名称 API 调用中的异常。获取“我的 .snk 文件路径>的密钥信息时出错<:找不到强名称密钥容器

Exception in .NET strong name API invocation. Error while getting key info for '<my .snk file path>': Strong name key container not found

提问人:HansBakn 提问时间:9/21/2022 最后编辑:Adrian MoleHansBakn 更新时间:9/22/2022 访问量:60

问:

我有一个使用 Postsharp 的 C# 类库项目,它无法构建。我收到以下错误:

.NET 强名称 API 调用中的异常。获取密钥时出错 “<my .snk file path>”的信息:找不到强名称密钥容器。 (HRESULT 异常:0x8013141C)。

此外,该错误指定错误发生在项目所在目录中名为“POSTSHARP”的文件中,但此文件似乎不存在。

从我能够收集到的信息来看,由于属于 Postsharp 的强名称密钥或类似的东西出现错误,我似乎无法对我的项目进行签名。此问题仅发生在我的机器上,而在同一项目上工作的任何其他人都不会发生。此外,我的 .snk 文件用于同一解决方案中的其他项目,这些项目也使用相同版本的 Postsharp 和 .NET Framework。

我正在使用 Visual Studio 2019、Postsharp 版本 4.3.48 和 .NET Framework 4.5.2。

C# 后夏普

评论


答:

1赞 Gael Fraiteur 9/22/2022 #1

PostSharp 正在尝试加载 SNK 的私钥。密钥容器可以通过程序集中使用的特性、MSBuild 属性或环境变量或 PostSharp 属性进入 PostSharp。[AssemblyKeyName]KeyContainerNamePrivateKeyContainer

该错误意味着 PostSharp 无法以某种方式从 API 获取私钥。可能有几个原因

另请参阅此票:

Postsharp 抛出 System.Runtime.InteropServices.COMException (0x8013141C):找不到强名称密钥容器。(HRESULT 异常:0x8013141C)

评论

0赞 HansBakn 9/23/2022
嗨,盖尔,感谢您的回复。您有什么建议我应该调查以解决我的问题吗?
0赞 Gael Fraiteur 9/23/2022
您应该调查密钥容器是否存在,以及当前用户(或运行 PostSharp 的用户)是否有权访问它。