UWP - 未使用提供的指纹找到证书

问题描述 投票:0回答:5

我有一个 UWP 应用程序,可以在两个不同的设备上使用。在最新的 Visual Studio 2019 更新后,我开始收到此错误:

未找到带有提供的指纹的证书:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

该应用程序以前具有 Visual Studio 用于自动生成的临时密钥,但现在不再具有。我根据此链接的说明生成了一个新的密钥文件 https://learn.microsoft.com/en-us/windows/msix/package/create-certificate-package-signing并且在我的桌面上有效。我能够在包清单中选择证书,更新 csproj 文件中的“PackageCertificateThumbprint”,然后构建并创建侧载包。

现在,切换到我的笔记本电脑。即使我已将创建的证书带到该机器上,我仍然再次收到上述错误。包 GUI 告诉我没有可用的有效证书。我尝试将该证书添加到本地计算机但无济于事。

  1. 我错过了什么我应该做的事情?
  2. 我的目标是能够在两个不同的工作站上进行开发,而不必每次切换一个工作站时都创建一个新证书,或者每次从一个工作站切换到另一个工作站时都必须更新 csproj 文件。

这是一个个人项目,还没有到去商店的程度,但我确实需要在两个盒子上进行开发并为一组测试人员创建侧面加载包。

c# uwp win-universal-app appxmanifest
5个回答
34
投票
  1. 右键单击项目 -> 属性 -> 包清单
  2. 在 Package.appxmanifest 上,转到“打包”选项卡 -> 选择证书
  3. 在新窗口中,如果您有证书,请单击“选择证书...”;如果您尚未创建证书,请创建一个证书 (https://learn.microsoft.com/en-us/windows/uwp/packaging/create-certificate-package-signing

来源 - https://github.com/microsoft/AdaptiveCards/issues/3194#issuecomment-516100011


3
投票

可能旧证书无效或没有可用证书,因此我们需要按照以下方式创建新证书:

  1. 双击 Package.appxmanifest 文件
  2. 转到“包装”选项卡。
  3. “选择证书...”按钮。
  4. 点击创建
  5. 如果开发者模式已禁用,请启用
  6. 点击确定
  7. 重建项目工作正常。

2
投票

卸载项目。 编辑项目文件。 确保包证书与您打算使用的证书相同。

当我切换到 vs 2019 时,它切换到旧版本。


1
投票

您可以尝试两种方法来解决这个问题:

  1. 清理解决方案并重新启动 Visual Studio,然后重建解决方案。

  2. 删除测试证书。

致以诚挚的问候。


0
投票

当我在输出中收到此信息时,我尝试从 package.appxmanifest 中重新选择证书从商店中选择,但即使我手动安装了证书,也没有可用的选项可供选择。

我有另一台电脑,没有这样的错误,我可以从同一选项重新选择证书。显然是Windows或VS的问题。

以下是什么可以帮助我在两台机器上工作:

打开 *.csproj 文件并删除 PackageCertificateThumbprint 值并在 PackageCertificateKeyFile 中设置存储证书文件名

<PackageCertificateThumbprint></PackageCertificateThumbprint>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<PackageCertificateKeyFile>nameofTheApp_StoreKey.pfx</PackageCertificateKeyFile>
© www.soinside.com 2019 - 2024. All rights reserved.