【问题标题】:Started to receive the error: Error signing assembly -- Unknown error (8013141c) [duplicate]开始收到错误:错误签名程序集-未知错误(8013141c)[重复]
【发布时间】:2016-05-03 20:29:48
【问题描述】:

Visual Studio 2013 - 编译时开始收到错误:“错误签名程序集 -- 未知错误 (8013141c)”。很少有项目使用 snk 文件进行签名。它曾经编译过,并且已经投入生产了很长一段时间。

【问题讨论】:

标签: c# visual-studio-2013 snk


【解决方案1】:

这是一个权限问题。解决此错误;打开以下文件夹 - “C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys”,并让您的用户(无论您使用什么帐户登录计算机并在 Visual Studio 上工作)完全控制.您可以通过右键单击 MachineKeys 文件夹并选择属性来执行此操作,然后在安全选项卡中,确保当前用户具有完全控制权。

【讨论】:

  • 谢谢,我更改了位于 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 下的 MachineKeys 文件夹为了安全起见,我重新启动了服务器并确保 VS 以“管理员”身份打开
  • 奇怪的是它需要你的实际用户。管理员在那里拥有完全控制权,我是这台机器的管理员。奇怪的是,它可以像我刚才那样无缘无故地开始发生。
  • 仍然在执行此操作后遇到错误?那么这是针对此类错误的唯一解决方案吗?有没有其他方法可以解决这个问题?
  • 您是否尝试了以下解决方案来为此文件夹添加完全权限? C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys
  • 这对我有用!运行 TFS 构建代理的服务帐户对 MachineKeys 文件夹没有完全控制权。对于 Windows 10,该文件夹为 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys。我不知道为什么签署它需要完全控制,但我尝试只授予对服务帐户的读取访问权限,但失败了。完全控制有效。
【解决方案2】:

以管理员身份以提升的权限运行 Visual Studio。

【讨论】:

  • 特别是如果这个废话突然出现,在过去编译良好的构建中,并且当您的用户已经拥有 MachineKeys 所需的所有权限时。
【解决方案3】:

基于上面的 Mangist,他的解决方案对我有用,但我有 Windows 10,所以 MachineKeys 在不同的文件夹中。我让自己完全控制(可能只需要读/写)以下文件夹:

C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys

它说某些密钥的访问被拒绝,但是一旦该过程完成,我就不再看到错误签名程序集问题。

【讨论】:

    【解决方案4】:

    打开项目属性,转到“签名”选项卡并取消选中“签署程序集”复选框。然后重新构建

    【讨论】:

    • 但是如果 OP 想要签署这个程序集怎么办?这不是解决方案,这只是避免所需的任务。
    猜你喜欢
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-03
    • 2017-08-30
    • 2017-06-30
    • 2015-03-12
    • 2014-05-17
    相关资源
    最近更新 更多