1
我有一个组件,它的工作就好了我自己的电脑,但是当我尝试引用它在虚拟机上,我收到以下错误:如何完全信任未签署的程序集?
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时受信任的程序集。
如何将程序集标记为可信,以便可以加载和执行?
检查是否有第三个程序集缺少'X.dll'依赖。你的应用程序 - > X.dll->缺失。 – cloggins
我用反射器做了这个。所有组件似乎都存在。另外,在例外情况中,X.dll被标记为缺失(文件名:'X.dll') –
再次复制文件,复制时可能已损坏。 –