我设置我的Visual Studio Team Service帐户来克隆我的私有GitHub仓库,并在我对构建进行排队时构建Windows UWP应用程序。克隆工作没有任何问题;除了一个项目之外,每个项目的编译(6)都有效。 Windows UWP应用程序项目。
构建服务器编译应用程序时,我收到以下警告:
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0104:找不到证书文件'myapp_TemporaryKey.pfx'。
2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0104:找不到证书文件'myapp_TemporaryKey.pfx'。 [C:\一个\ 1 \ S \源\应用\ myapp.WindowsUWP \ myapp.csproj]
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0102:项目中指定的指纹'58F2EA544193F6FC9F2737135570555B388E58D8'的证书不能在证书商店找到。请在项目文件中指定有效的指纹。
2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0102:项目中指定的带有指纹'58F2EA544193F6FC9F2737135570555B388E58D8'的证书在证书商店中找不到。请在项目文件中指定有效的指纹。 [C:\一个\ 1 \ S \源\应用\ myapp.WindowsUWP \ myapp.csproj]
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0107:指定的证书对签名无效。有关有效证书的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=241478。 2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1778,5):警告APPX0107:指定的证书对签名无效。有关有效证书的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=241478。 [C:\一个\ 1 \ S \源\应用\ myapp.WindowsUWP \ myapp.csproj]
这是6个编译中的最后一个项目。收到警告后,它会将所有输出文件复制到最终/ bin目录。然后,当它完成后,报告与上面相同的消息,但这次是错误并且无法构建。
_GenerateAppxPackageFile:C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ x64 \ MakeAppx.exe pack / l / h sha256 / f obj \ x86 \ Debug \ package.map.txt / o / p C:\ a \ 1 \ S \来源\应用程序\ MyApp.WindowsUWP \ AppPackages \ MyApp_1.0.0.0_x86_Debug_Test \ MyApp_1.0.0.0_x86_Debug.appx MyApp - > C:\ a \ 1 \ s \ Source \ Applications \ MyApp.WindowsUWP \ AppPackages \ MyApp_1.0.0.0_x86_Debug_Test \ MyApp_1.0.0.0_x86_Debug.appx C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382,5):错误APPX0104:找不到证书文件“MyApp_TemporaryKey.pfx”。 2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382,5):错误APPX0104:找不到证书文件“MyApp_TemporaryKey.pfx”。 [C:\ a \ 1 \ s \ Source \ Applications \ MyApp.WindowsUWP \ MyApp.csproj] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382 ,5):错误APPX0102:在证书库中找不到项目中指定的指纹“58F2EA544193F6FC9F2737135570555B388E58D8”的证书。请在项目文件中指定有效的指纹。 2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382,5):错误APPX0102:项目中指定的带有指纹'58F2EA544193F6FC9F2737135570555B388E58D8'的证书在证书商店中找不到。请在项目文件中指定有效的指纹。 [C:\ a \ 1 \ s \ Source \ Applications \ MyApp.WindowsUWP \ MyApp.csproj] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382 ,5):错误APPX0107:指定的证书对签名无效。有关有效证书的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=241478。 2> C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2382,5):错误APPX0107:指定的证书对签名无效。有关有效证书的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=241478。 [C:\ a \ 1 \ s \ Source \ Applications \ MyApp.WindowsUWP \ MyApp.csproj] 2>完成构建项目“C:\ a \ 1 \ s \ Source \ Applications \ MyApp.WindowsUWP \ MyApp.csproj”(默认目标) - 失败。 1>完成构建项目“C:\ a \ 1 \ s \ Source \ MyApp.UWP.sln”(默认目标) - 失败。建立失败。 “C:\ a \ 1 \ s \ Source \ MyApp.UWP.sln”(默认目标)(1) - >
如果我只是删除证书(就像我在这个特定的错误日志中所做的那样),它就会失败,因为它无法找到它。如果我使用VS中的清单编辑器生成证书,并为其分配密码,则构建服务器会因为不知道密码而失败。所以我无法建立我是否提供临时测试证书。
我们如何通过Visual Studio Team Services构建系统运行Windows 10 UWP应用程序?这是微软一直在推广的东西,所以我认为这是可以做到的事情。我似乎无法让UWP项目真正构建。
您可以生成未分配密码的证书。
或者在构建定义中添加PowerShell步骤以导入受密码保护的证书。以下是您可以使用的powershell脚本:
$pfxpath = 'myapp_TemporaryKey.pfx'
$password = 'yourpassword'
Add-Type -AssemblyName System.Security
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import($pfxpath, $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
$store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
$store.Add($cert)
$store.Close()
请记住将“工作文件夹”设置为放置pfx文件的路径。
默认情况下,.gitignore
会忽略任何*.pfx
文件。因此它不会添加到git中。我有同样的问题,构建机器没有*_StoreKey.pfx
文件,因此构建没有成功。
对我来说,解决方案是在构建服务器上安装*_StoreKey.pfx
。然后在构建服务器上构建解决方案成功。
我这几天遇到的同样的问题,我终于在this post的帮助下成功解决了。
实际上我们必须确保我们已经创建了一个测试用的.pfx
作为UWP
的开发人员,并且跟着的话分享了一些我认为有用的解决方案:
Package.appxmanifest
在App Manifest Designer
中,选择Packaging
选项卡,然后选择Choose Certificate
按钮。
在“选择Certificate
”对话框中,展开“配置证书”列表,然后选择Create test certificate
。
在Create test certificate
对话框中,输入您的信息并单击“确定”按钮。(上面的步骤说明来自此↓)MakeCert
,Pvk2Pfx
和Certutil
工具创建证书
MDSN : How to create an app package signing certificate希望它可以帮助你!
我用“安全文件”功能解决了这个问题:https://docs.microsoft.com/en-us/azure/devops/pipelines/library/secure-files?view=vsts
move %DOWNLOADSECUREFILE_SECUREFILEPATH% FolderOfMyProject
现在它的行为就像证书已签入一样。
我也得到了错误:
“无法导入密钥文件'blah.pfx'。密钥文件可能受密码保护。要解决此问题,请尝试将证书手动导入当前用户的个人证书存储区”。
您可以双击.pfx文件将其导入您的商店,诀窍是当它启动向导时,您必须在第一个屏幕上选择“当前用户”而不是“本地机器”,而不是“自动“,我特意选择了”个人“。
之后我能够构建包。当我选择“Local Machine”+ Personal时没用。
有同样的问题(qazxsw poi)并尝试了所有解决方案,但没有任何对我有用。事实上,他们是在qazxsw poi中的关键名称之后的新行:
error APPX0107: The certificate specified is not valid for signing
删除它,它工作。