如果自签名清单,C#无法通过Azure管道中的生成

如果自签名清单,C#无法通过Azure管道中的生成,c#,build,manifest,azure-pipelines,self-signed,C#,Build,Manifest,Azure Pipelines,Self Signed,我在VisualStudio中使用.NET框架构建了一个WPF项目。应用程序将部署在多个位置,以便不同网络上的用户能够运行它并获得更新(发布->应用程序更新->应用程序启动前) 我正试图建立一个管道,最终测试应用程序并将其发布到多个位置。为了增加安全性,我决定使用(签名->对ClickOnce清单签名)对清单进行自签名 根据我所读的(),您应该签署一份清单,为您的用户添加应用程序/更新来自您的安全性 我的问题是,当Azure尝试在管道中构建应用程序时,它会生成以下错误 简称: Error MS

我在VisualStudio中使用.NET框架构建了一个WPF项目。应用程序将部署在多个位置,以便不同网络上的用户能够运行它并获得更新(发布->应用程序更新->应用程序启动前)

我正试图建立一个管道,最终测试应用程序并将其发布到多个位置。为了增加安全性,我决定使用(签名->对ClickOnce清单签名)对清单进行自签名

根据我所读的(),您应该签署一份清单,为您的用户添加应用程序/更新来自您的安全性

我的问题是,当Azure尝试在管道中构建应用程序时,它会生成以下错误

简称:

Error MSB3323: Unable to find manifest signing certificate in the certificate store
长:

谷歌的解决方案似乎要求我删除这个安全功能。()

我是否误解了解决方案、自我签名的原因,或者我是否应该寻找其他解决方案?(注意:我们不希望从第三方购买证书。)

有关应用程序的其他信息

安全->[选中:true]启用ClickOnce安全设置

安全->这是一个完全信任的应用程序

如果您需要有关project/solution/build/Azure设置的其他信息,请与我联系。。。不确定什么与这个问题相关,我不想把整个项目都扔在这里。请询问,我会更新

编辑:

YML文件

# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

如果您以与内部部署相同的方式运行签名,那么像内部部署一样使用自托管代理是这里的解决方案。托管计算机不会在证书存储中安装您的证书

你用了哪种药剂?托管代理还是自托管代理?您是否尝试在自托管代理中构建它并检查错误是否仍然发生?也许托管计算机不会在证书存储中安装您的证书。简短回答:我想我使用了托管代理。详细回答:我试图寻找一个允许我指定托管或自托管的设置,但找不到。这里有更多关于它的信息。我使用Azure管道。新请求的处理设置为embedded,我已经在帖子中发布了yml。我应该在哪里查看此设置。注意:我可以在本地开发人员计算机上毫无问题地进行构建。“代理:托管代理”刚刚在作业信息中找到它,这就是重点。如果您以与内部部署相同的方式运行签名,那么像内部部署一样使用自托管代理是这里的解决方案。托管计算机不会在证书存储中安装您的证书。
# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'