0

我有大约 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);
4

1 回答 1

0

您是从上面的代码构建您的 MSBuild 项目文件吗?

如果您知道需要在每个项目中删除哪些属性,则可以在代码中或通过 MSBuild 命令行设置值。

如果您删除所有这些属性或将它们设置为 null,那么您将不会收到此错误。

<manifestcertificatethumbprint> </manifestcertificatethumbprint>
<manifestkeyfile></manifestkeyfile>
<generatemanifests></generatemanifests>
<signmanifests></signmanifests>

您还可以从 MSBuild 命令行传入这些参数值。

但是,如果您需要对程序集进行签名,则需要提供一个新的 Key.snk 文件才能对程序集进行签名。

MSBUILD solutiontoBuild.sln /p:SignAssembly=false;DelaySign=false

于 2013-05-12T15:26:20.613 回答