如何完全信任未签名的程序集



我有一个程序集,它在我自己的电脑上工作得很好,但是当我尝试在虚拟机上引用它时,我收到以下错误:

System.IO.FileNotFoundException: Could not load file or assembly 'X.dll' or one of its ependencies. The specified module could not be found.
File name: 'X.dll'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm,Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.LoadFrom(String assemblyFile)
   at kernelLoader.Program.Main(String[] args)

绝对确定该文件位于指定的位置,并且代码在我自己的机器(已开发的地方)上运行良好。它与所有引用的程序集一起针对 x86 平台进行编译。

我认为,该错误可能是由于程序集未完全受信任引起的。

我不能强唱程序集,因为它引用了几个程序集,这些程序集没有唱歌,我没有代码或修改权限。

怀疑有一种好方法可以让程序集在我运行它的 mashine 上受到信任。

如何将程序集标记为受信任,以便可以加载和执行它?

该异常通常是由缺少的 dll 引起的。可以使用的一件事是ProcMon。加载丢失的 dll 并且出现错误时,文件名应显示在 ProcMon 中。

相关内容

最新更新