У меня есть узел, который работает просто отлично на моем собственном компьютере, но когда я пытаюсь ссылаться на него на виртуальной машине, я получаю следующее сообщение об ошибке:Как полностью доверять несанкционированной сборке?
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.
Я думаю, что ошибка может быть вызвана тем, что сборка не полностью доверена.
Я не могу сильно спеть сборку, потому что она ссылается на несколько сборок, которые не записаны, и на которые у меня нет кода или прав на изменение.
Я подозреваю, что есть хороший способ сделать сборку доверенной в машине, где я ее запускаю.
Как пометить сборку как доверенную, чтобы ее можно было загрузить и выполнить?
Проверьте, отсутствует ли какая-либо третья сборка, от которой зависит «X.dll». Отсутствует ваше приложение-> X.dll->. – cloggins
Я сделал это с отражателем. Кажется, что все сборки присутствуют. Кроме того, в исключении X.dll помечен как отсутствующий (имя файла: «X.dll») –
Скопируйте файл еще раз, возможно, он был поврежден при копировании. –