我有一个C#exe,它引用了其他一些dll,并且这些dll是使用强名称密钥签名的。当我在本地系统中执行此命令时,它工作正常。但是,当我从Azure发布管道调用相同的exe时,它给了我以下错误。
System.Security.SecurityException:强名称验证失败。 (来自HRESULT的异常:0x8013141A)
我为所有引用的dll尝试了sn.exe -Vr“ dll路径”。并在exe的app.config中尝试了命令bypassTrustedAppStrongNames enabled =“ false”和“ true”。但是两者都没有帮助。
任何人都可以提出解决方案的建议。预先感谢。
答案 0 :(得分:1)
您可以尝试在csproj文件中搜索System.Management.Automation引用,并将其替换为<Reference Include="System.Management.Automation" />
为此,请参考与此类似的问题case。
答案 1 :(得分:0)
您可以尝试通过在Application Configuration File
中添加以下代码段来禁用应用程序级别的强名称验证<configuration>
<runtime>
<bypassTrustedAppStrongNames enabled="true" />
</runtime>
</configuration>
有关更多信息,请访问Microsoft documentation page
答案 2 :(得分:0)
我不确定您是否有权跳过对托管代理的验证。因此,您可以自己创建代理,也可以