System io fileloadexception не удалось загрузить файл или сборку
FileLoadException(String, String)
Параметры
Строка String, описывающая ошибку. Содержимое message должно быть понятно пользователю. Для гарантированной локализации этой строки для текущей системной культуры необходимы сведения о том, кто вызывает этот конструктор.
Объект String содержит имя файла, который не был загружен.
Свойства
Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении.
Возвращает имя файла, вызвавшего данное исключение.
Возвращает имя журнала, в котором описано, почему загрузка сборки не выполнена.
Получает или задает ссылку на файл справки, связанный с этим исключением.
Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.
Возвращает экземпляр класса Exception, который вызвал текущее исключение.
Возвращает или задает имя приложения или объекта, вызывавшего ошибку.
Получает строковое представление непосредственных кадров в стеке вызова.
Возвращает метод, создавший текущее исключение.
Перегрузки
Инициализирует новый экземпляр класса FileLoadException с сериализованными данными.
См. также раздел
Применяется к
Применяется к
Методы
Определяет, равен ли указанный объект текущему объекту.
При переопределении в производном классе возвращает исключение Exception, которое является первопричиной одного или нескольких последующих исключений.
Служит хэш-функцией по умолчанию.
Устанавливает SerializationInfo с именем файла и дополнительными сведениями об исключении.
При переопределении в производном классе задает объект SerializationInfo со сведениями об исключении.
Возвращает тип среды выполнения текущего экземпляра.
Создает неполную копию текущего объекта Object.
События
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса FileLoadException.
Комментарии
Свойство InnerException и FileName свойство нового экземпляра инициализируются в null .
Methods
Determines whether the specified object is equal to the current object.
When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.
Serves as the default hash function.
Sets the SerializationInfo with the file name and additional exception information.
When overridden in a derived class, sets the SerializationInfo with information about the exception.
Gets the runtime type of the current instance.
Creates a shallow copy of the current Object.
Returns the fully qualified name of the current exception, and possibly the error message, the name of the inner exception, and the stack trace.
Комментарии
Исключение, созданное как прямой результат предыдущего исключения, должно содержать в свойстве InnerException ссылку на предыдущее исключение. Свойство InnerException возвращает то же значение, которое передается в конструктор, или null , если свойство InnerException не предоставляет значение внутреннего исключения в конструктор.
В следующей таблице показаны первоначальные значения свойств для экземпляра FileLoadException.
Дополнительные сведения о внутренних исключениях см. в разделе InnerException.
Комментарии
Этот конструктор инициализирует Message свойство нового экземпляра с помощью message . Свойство InnerException и FileName свойство нового экземпляра инициализируются в null .
Remarks
Represents the error that occurs when a Assembly file is found but cannot be loaded.
The FileNotFoundException exception is thrown when the file fails to load because it cannot be located. If the file is located, but cannot be loaded due to insufficient permissions, a SecurityException is thrown.
FileLoadException has the default HRESULT of COR_E_FILELOAD, which has the value 0x80131621, but this is not the only possible HRESULT.
The exact timing of when static assembly references are loaded is unspecified. This exception may be thrown before the method that statically references the assembly that failed to load starts executing.
Associated Tips
Check to make sure an assembly or module was not loaded twice with two different evidences.
Evidence is the set of information that constitutes input to security policy decisions, such as what permissions can be granted to code. For more information, see GacRemove and Evidence
If using the RegisterAssembly or UnRegisterAssembly methods, check to make sure the assembly name is not longer than the system-defined maximum length.
The assembly name's length cannot exceed the system-defined maximum. For more information, see PathTooLongException.
If loading a satellite assembly, make sure the specified CultureInfo matches the file's CultureInfo.
Satellite assemblies contain localized resources which contain non-localizable executable code and resources for a single culture that serve as the default or neutral culture. For more information, see GetSatelliteAssembly.
Events
Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.
This is my problem:
My application used System.Data.SQLite.DLL. I referenced it and run normally in my computer, but it failed to run on another computer. This is the error message:
My computer is running Windows 7 32 bit, Visual Studio 2010.
Another computer is running Windows 7 32 bit too, without Visual Studio installed.
What I have tried:
Attempt 3: Try these codes at App.config:
Attempt 4: Try turn off User Account Control on the another computer. Done.
Attempt 5: Try install Visual C++ Runtime on the another computer (I install Visual Microsoft Visual C++ Runtime 2010 Redistributable Package (x86), also tried 2005 verson.). Done.
Updated: (After reading answers and comments)
Attempt 7: Make sure System.Data.SQLite.DLL is located at the output bin folder. Done
Attempt 8: Double confirm that the another computer is running 32bit Windows 7. Done
Attempt 9: Change the HintPath declaration in .csproj file:
Change this:
Done for Attempt 9.
After the above attempts, the result is still the same. The application can run from my computer normally and failed to run on the another computer.
Hmm.. not sure what order the assembly resolver is looking through things, but you could check if it's looking up assemblies in the GAC before the output directory, and if so remove any SQLite assemblies from there.
@Mithon Hi, as I am aiming to develop a portable software, therefore installing the assembly in GAC is not in the solution, but I thank for your suggestion :) I have solved the problem, you can see my answer below.
Конструкторы
Инициализирует новый экземпляр класса FileLoadException с сериализованными данными.
Все ответы
Скорее всего у вас проблемы с NuGet, возможно пакет обновлён а физически файл сборки нет. Удалите NuGet пакет, потом установите его опять. Такое часто бывает.
Сделаем содержимое сообщества лучше, вместе!
Скорее всего у вас проблемы с NuGet, возможно пакет обновлён а физически файл сборки нет. Удалите NuGet пакет, потом установите его опять. Такое часто бывает.
Сделаем содержимое сообщества лучше, вместе!
Удалил/установил 'NuGet Package Manager for VS' с перезагрузками все как положено, снова ошибка. При установке Newtonsoft.Json в nuget консоли стоит сразу две версии
Newtonsoft.Json 4.5.11
Newtonsoft.Json 7.0.1
На диске оставлял по одной, удалял вовсе все эти файлы, ошибка та же.
Скорее всего у вас другие пакеты используют разные версии. Посмотрите все установленные пакеты, у кого какая зависимость, и оставьте ту которая используется другими пакетами. Если 7.0.1 устанавливали исключительно для себя, то удалите её, пользуйтесь более старой версией.
Сделаем содержимое сообщества лучше, вместе!
Скорее всего у вас другие пакеты используют разные версии. Посмотрите все установленные пакеты, у кого какая зависимость, и оставьте ту которая используется другими пакетами. Если 7.0.1 устанавливали исключительно для себя, то удалите её, пользуйтесь более старой версией.Сделаем содержимое сообщества лучше, вместе!
Не пойму как смотреть зависимость, только так при попытке удаления Newtonsoft.Json пишет зависимость:
uninstall-package : Unable to uninstall 'Newtonsoft.Json.4.5.11' because 'Microsoft.AspNet.WebApi.Client.4.0.30506' depends on it
но Microsoft.AspNet.WebApi.Client нет в дереве References
при удалении его: Unable to uninstall 'Microsoft.AspNet.WebApi.Client.4.0.30506' because 'Microsoft.AspNet.WebApi.Core.4.0.30506' depends on it.
при удалении его: Unable to uninstall 'Microsoft.AspNet.WebApi.Core.4.0.30506' because 'Microsoft.AspNet.WebApi.WebHost.4.0.30506' depends on it.
и по кругу снова Microsoft.AspNet.WebApi:
Unable to uninstall 'Microsoft.AspNet.WebApi.WebHost.4.0.30506' because 'Microsoft.AspNet.WebApi.4.0.30506' depends on it.
Через Manager nuget packages нашел две зависимости
Библиотеки:
Microsoft.AspNet.WebApi.Client требует Newtonsoft.Json версии (>=0.6.4)
и
WebGrease требует Newtonsoft.Json версии (>= 5.0.4)
сейчас Newtonsoft.Json v7.0.1
условия соблюдаются и все библиотеки обновлены до отказу
Зависимости можно смотреть во вкладке опций пакета например так (раздел "Dependencies"),
или ещё лучший вариант вот тут. Одну из версий нужно удалить, так как нельзя загружать сразу две версии сборок, можно, но не рекомендуется. В подавляющем большинстве случаев проблема решается легко, но подобные случаи бывают часто.
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое создается в случае, когда управляемая сборка найдена, но не может быть загружена.
FileLoadException()
Комментарии
Представляет ошибку, возникающую при Assembly обнаружении файла, но не удается загрузить.
Исключение FileNotFoundException возникает, когда не удается загрузить файл, так как он не может быть найден. Если файл находится, но не может быть загружен из-за недостатка разрешений, создается исключение SecurityException .
FileLoadException имеет значение HRESULT по умолчанию COR_E_FILELOAD, которое имеет значение 0x80131621, но это не единственный возможный HRESULT.
Точное время загрузки ссылок на статические сборки не указано. Это исключение может возникать перед методом, статически ссылающимся на сборку, которая не удалось загрузить, начинает выполняться.
Полезные советы
Проверьте, что сборка или модуль не был загружен дважды с двумя разными свидетельствами.
Свидетельство — это набор сведений, используемых для принятия решений политики безопасности, например, сведений о разрешениях, которые могут быть предоставлены коду. Дополнительные сведения см. в разделах GacRemove и Evidence.
При использовании или UnRegisterAssembly методах убедитесь, что имя сборки RegisterAssembly не превышает заданную системой максимальную длину.
Длина имени сборки не может превышать заданное системой максимальное значение. Для получения дополнительной информации см. PathTooLongException.
Если загружается вспомогательная сборка, убедитесь, что её CultureInfo соответствует CultureInfo файла.
Вспомогательные сборки содержат локализованные ресурсы, содержащие не локализуемый исполняемый код и ресурсы для одного языка и региональных параметров, которые используются по умолчанию или при нейтральном языке и региональных параметрах. Для получения дополнительной информации см. GetSatelliteAssembly.
FileLoadException(String, Exception)
Параметры
Строка String, описывающая ошибку. Содержимое message должно быть понятно пользователю. Для гарантированной локализации этой строки для текущей системной культуры необходимы сведения о том, кто вызывает этот конструктор.
Исключение, которое является причиной текущего исключения. Если значение параметра inner не равно null , текущее исключение сгенерировано в блоке catch , обрабатывающем внутреннее исключение.
FileLoadException(SerializationInfo, StreamingContext)
Инициализирует новый экземпляр класса FileLoadException с сериализованными данными.
Параметры
Объект SerializationInfo, хранящий сериализованные данные объекта, относящиеся к выдаваемому исключению.
Объект StreamingContext, содержащий контекстные сведения об источнике или назначении.
Ответы
Зависимости можно смотреть во вкладке опций пакета например так (раздел "Dependencies"),
или ещё лучший вариант вот тут. Одну из версий нужно удалить, так как нельзя загружать сразу две версии сборок, можно, но не рекомендуется. В подавляющем большинстве случаев проблема решается легко, но подобные случаи бывают часто.
Сделаем содержимое сообщества лучше, вместе!
- Предложено в качестве ответа Yatajga Editor 31 августа 2015 г. 20:51
- Помечено в качестве ответа Maksim Marinov Microsoft contingent staff, Moderator 4 сентября 2015 г. 8:23
FileLoadException(String, String, Exception)
Параметры
Строка String, описывающая ошибку. Содержимое message должно быть понятно пользователю. Для гарантированной локализации этой строки для текущей системной культуры необходимы сведения о том, кто вызывает этот конструктор.
Объект String содержит имя файла, который не был загружен.
Исключение, которое является причиной текущего исключения. Если значение параметра inner не равно null , текущее исключение сгенерировано в блоке catch , обрабатывающем внутреннее исключение.
См. также раздел
Применяется к
Комментарии
Этот конструктор инициализирует Message свойство нового экземпляра, используя message и FileName свойство. fileName Свойство InnerException нового экземпляра инициализируется в null .
FileName не обязательно быть файлом, хранящимся на диске; это может быть любая часть системы, поддерживающая доступ к потокам. Например, в зависимости от системы этот класс может иметь доступ к физическому устройству.
См. также раздел
Properties
Gets a collection of key/value pairs that provide additional user-defined information about the exception.
Gets the name of the file that causes this exception.
Gets the log file that describes why an assembly load failed.
Gets or sets a link to the help file associated with this exception.
Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.
Gets the Exception instance that caused the current exception.
Gets the error message and the name of the file that caused this exception.
Gets or sets the name of the application or the object that causes the error.
Gets a string representation of the immediate frames on the call stack.
Gets the method that throws the current exception.
Комментарии
Исключение, созданное как прямой результат предыдущего исключения, должно содержать в свойстве InnerException ссылку на предыдущее исключение. Свойство InnerException возвращает то же значение, которое передается в конструктор, или null , если свойство InnerException не предоставляет значение внутреннего исключения в конструктор.
FileName не обязательно быть файлом, хранящимся на диске; это может быть любая часть системы, поддерживающая доступ к потокам. Например, в зависимости от системы этот класс может иметь доступ к физическому устройству.
В следующей таблице показаны первоначальные значения свойств для экземпляра FileLoadException.
Дополнительные сведения о внутренних исключениях см. в разделе InnerException.
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The exception that is thrown when a managed assembly is found but cannot be loaded.
5 Answers 5
I have solved the problem. This is how I solve:
Short story:
Use older version of System.Data.SQLite. New version is suspected to have bugs (I could be wrong).
Long story:
I started to recall back why my previous old version of this program is able to be executed on other computer and this new version can't. What are the obvious changes that I have made?
Yes, I have changed the version of System.Data.SQLite.
Then I decided to abondon the new version (V1.0.88) and used the old version (V1.0.66), and everything back to normal. The program is once again executable on another computer.
I assume that V1.0.88 contains bugs, but I could be wrong. Anyway, as for current solution, I just stick to V1.0.66.
Constructors
Initializes a new instance of the FileLoadException class, setting the Message property of the new instance to a system-supplied message that describes the error, such as "Could not load the specified file." This message takes into account the current system culture.
Initializes a new instance of the FileLoadException class with serialized data.
Initializes a new instance of the FileLoadException class with the specified error message.
Initializes a new instance of the FileLoadException class with a specified error message and a reference to the inner exception that is the cause of this exception.
Initializes a new instance of the FileLoadException class with a specified error message and the name of the file that could not be loaded.
Initializes a new instance of the FileLoadException class with a specified error message, the name of the file that could not be loaded, and a reference to the inner exception that is the cause of this exception.
Применяется к
Применяется к
Не удалось загрузить файл или сборку "newtonsoft json" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System.IO.FileLoadException: Не удалось загрузить файл или сборку "newtonsoft json" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
-------------------
Файл newtonsoft json на месте удалял всеми способами и ставил по новой версия сейчас 4.5.0.0
Runtime : v4.0.30319
Что делать кто встречался с похожим хелп
FileLoadException(String)
Параметры
Строка String, описывающая ошибку. Содержимое message должно быть понятно пользователю. Для гарантированной локализации этой строки для текущей системной культуры необходимы сведения о том, кто вызывает этот конструктор.
См. также раздел
См. также раздел
Читайте также: