Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure DevOps发布管道-如何解决强名称验证问题_C#_Dll_Azure Devops_Azure Pipelines - Fatal编程技术网

C# Azure DevOps发布管道-如何解决强名称验证问题

C# Azure DevOps发布管道-如何解决强名称验证问题,c#,dll,azure-devops,azure-pipelines,C#,Dll,Azure Devops,Azure Pipelines,我有一个C#exe,它引用了一些其他DLL,这些DLL使用强名称密钥进行签名。当我在本地系统中执行此操作时,它工作正常。但当我从Azure发布管道调用相同的exe时,它给出了以下错误 System.Security.SecurityException:强名称验证失败。(来自HRESULT的异常:0x8013141A) 我为所有引用的dll尝试了sn.exe-Vr“dll路径”。并且还尝试在exe的app.config中绕过trustedAppStrongNames enabled=“false”

我有一个C#exe,它引用了一些其他DLL,这些DLL使用强名称密钥进行签名。当我在本地系统中执行此操作时,它工作正常。但当我从Azure发布管道调用相同的exe时,它给出了以下错误

System.Security.SecurityException:强名称验证失败。(来自HRESULT的异常:0x8013141A)

我为所有引用的dll尝试了sn.exe-Vr“dll路径”。并且还尝试在exe的app.config中绕过trustedAppStrongNames enabled=“false”和“true”命令。但两者都没有帮助


有谁能为这个问题提出一个解决方案吗。提前感谢。

您可以尝试在应用程序级别禁用强名称验证,方法是在



有关更多信息,请查看

我不确定您是否有权跳过托管代理的验证。所以你可以做你自己的代理人或者

  • 删除依赖项的强名称,或在没有强名称的情况下重新生成它们
  • 在申请表上签名

您可以尝试在csproj文件中搜索System.Management.Automation引用,并将其替换为


有关此问题,请参阅类似问题。

Hi Stelios,已经尝试过此方法,但没有帮助。如前所述,它在本地工作正常,但当它从管道调用时,会给出错误。@Tinz habe您试图在服务器级别禁用它吗?如我随附的Microsoft文档页所述?禁用所有应用程序的强名称绕过功能-子主题在调用exe之前,在hosted agent命令行任务中添加了“C:\Program Files(x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\sn.exe”-Vr“{dll Path}”,并显示“为程序集添加的验证条目”,但它再次显示强名称验证失败。跳过验证是本地解决方法。强名称为程序集签名。
<configuration>  
  <runtime>  
    <bypassTrustedAppStrongNames enabled="true" />  
  </runtime>  
</configuration>