我有大约100个应用程序要重新发布,我使用microsoft.build来完成此任务。其中大约40个不会重新发布,因为他们有Error 1 Unable to find manifest signing certificate in the certificate store.
我知道我可以一个接一个地从项目中删除该属性,但这需要很长时间。
这是我在下面使用的代码,我想知道有没有办法通过代码关闭该属性?
Console.WriteLine("building: " + f.FullName);
Engine engine = new Engine();
engine.GlobalProperties.SetProperty("Configuration", "Release");
bool success = engine.BuildProjectFile(f.FullName);
答案 0 :(得分:0)
您是否正在从上面的代码构建MSBuild项目文件?
如果您知道需要在每个项目中删除哪个属性,则可以在代码中或通过MSBuild命令行设置该值。
如果删除所有这些属性或将它们设置为null,则不会出现此错误。
<manifestcertificatethumbprint> </manifestcertificatethumbprint>
<manifestkeyfile></manifestkeyfile>
<generatemanifests></generatemanifests>
<signmanifests></signmanifests>
您也可以从MSBuild命令行传递这些参数值。
但是,如果您需要对程序集进行签名,则需要提供一个新的Key.snk文件以便对程序集进行签名。
MSBUILD solutiontoBuild.sln /p:SignAssembly=false;DelaySign=false