Security 如何使用msbuild添加可以在IIS中使用的安全证书

Security 如何使用msbuild添加可以在IIS中使用的安全证书,security,deployment,iis-7,msbuild,msbuildextensionpack,Security,Deployment,Iis 7,Msbuild,Msbuildextensionpack,我有这个目标 <Target Name = "AddLocalCertificate"> <MSBuild.ExtensionPack.Security.Certificate TaskAction="Add" FileName="$(CertificateLocation)" CertPassword="$(CertificatePassword)"> <Output TaskParameter="Thu

我有这个目标

<Target Name = "AddLocalCertificate">       
    <MSBuild.ExtensionPack.Security.Certificate TaskAction="Add" FileName="$(CertificateLocation)" CertPassword="$(CertificatePassword)">           
        <Output TaskParameter="Thumbprint" PropertyName="CertificateHash"/>             
    </MSBuild.ExtensionPack.Security.Certificate>
</Target>
在另一个目标中,这个绑定语句

<MSBuild.ExtensionPack.Web.Iis7Binding
  CertificateHash="$(CertificateHash)" 
  TaskAction="Add" MachineName="$(MachineName)" Name="$(SiteName)" BindingInformation="*:$(HttpsPort):$(SiteName)" BindingProtocol="https"/>
然而,当我运行目标时,我得到了错误

使用证书创建绑定:指纹 “我的”存储器中的“DBE4964B4C4D0F185E8B1D421D736390AE586EBF” C:\Projects\RC19\u Release2\ExternalBinaries\MSBuildGlobalFiles\ManageWebsite.targets154,3: 错误:COMException:指定的登录会话不存在。信息技术 可能已经被终止。HRESULT的例外情况: 0x80070520\r\n C:\Projects\RC19\u Release2\ExternalBinaries\MSBuildGlobalFiles\ManageWebsite.targets154,3: 错误:

当我在IIS中查找时,它已经创建了站点并且绑定在那里,但是它似乎无法找到证书,如果我在IIS上查找服务器证书,那么我就看不到我的证书

如果我执行MMC->证书管理单元并转到当前用户,那么我可以在那里看到我的证书

如何从IIS/msbuild中访问该证书,或让msbuild在正确的位置创建该证书,以使IIS满意

msbuild扩展帮助页是这样的,但它对我帮助不大


谢谢

好吧,我让它工作了。。。很明显,除了我,没人在乎

实质性的更改是向证书添加任务添加Exportable=True MachineStore=True,如下所示

<MSBuild.ExtensionPack.Security.Certificate TaskAction="Add" Exportable="True" MachineStore="True" FileName="$(CertificateLocation)" CertPassword="$(CertificatePassword)">         
        <Output TaskParameter="Thumbprint" PropertyName="CertificateHash"/>             
    </MSBuild.ExtensionPack.Security.Certificate>   

世界上的一切又一次好起来了。

我让它工作起来了。。。很明显,除了我,没人在乎

实质性的更改是向证书添加任务添加Exportable=True MachineStore=True,如下所示

<MSBuild.ExtensionPack.Security.Certificate TaskAction="Add" Exportable="True" MachineStore="True" FileName="$(CertificateLocation)" CertPassword="$(CertificatePassword)">         
        <Output TaskParameter="Thumbprint" PropertyName="CertificateHash"/>             
    </MSBuild.ExtensionPack.Security.Certificate>   
世界上的一切都再次变得美好