我有一个C#exe,它引用了一些其他dll,并且dll使用强名称密钥进行签名。当我在本地系统中执行此操作时,它工作正常。但是当我从 Azure 发布管道调用同一个 exe 时,它给了我以下错误。
System.Security.SecurityException: 强名称验证失败。(HRESULT的例外:0x8013141A(
我尝试了所有引用的dll的sn.exe-vr"dll路径"。并且还尝试了命令 bypassTrustedAppStrongNames enabled="false" & "true" 在 exe 的 app.config 中。但两者都没有帮助。
任何人都可以为此提出解决方案。提前谢谢。
您可以尝试在 csproj 文件中搜索 System.Management.Automation 引用,并将其替换为<Reference Include="System.Management.Automation" />
为此,请参阅具有类似问题的案例。
可以通过在应用程序配置文件中添加以下代码片段来尝试在应用程序级别禁用强名称验证
<configuration>
<runtime>
<bypassTrustedAppStrongNames enabled="true" />
</runtime>
</configuration>
有关更多信息,您可以查看Microsoft文档页面
我不确定您是否有权跳过对托管代理的验证。因此,您可以制作自己的代理或
删除依赖项的强名称- 或重新生成没有强名称的依赖项。
- 对应用程序进行签名。