我正在处理一个我们延迟签署程序集的项目。我需要在构建过程中使用强名称工具几次,关闭强名称验证,然后在打包程序集之前对其进行完全签名。我尝试使用 powershell 步骤关闭验证,但它返回此错误:
脚本:
$testprojs = gci Project.*.dll -r
$testprojs | % {
sn -Vr $_
write-output $("Turned off sn verification for " + $_.Name)
}
错误:
Failed to open registry key -- Administrator permissions are needed to use
the selected options. Use an administrator command prompt to complete these tasks.
所以我创建了一个脚本来运行第一个脚本,但添加了 -elevated 参数。这没什么区别。
我还尝试使用命令提示符步骤而不是 powershell。这也返回了相同的错误。
For /r %g in ("Project.*.dll") DO sn -Vr %g
当我尝试对构建代理机器本身运行相同的脚本 rdp 时,它按预期工作。只有当它作为构建中的一个步骤运行时,它才不起作用。
有任何想法吗?