Приложение не удалось запустить, поскольку его бок о бок конфигурация неверна
Необработанное исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку
y 'TheLibrary, Version = 1.2.3905.36284, Culture = neutral, PublicKeyToken = 14
04827c3a8f2601 'или одной из его зависимостей. Приложение не удалось запустить
потому что его бок о бок конфигурация неверна. См. приложение
журнал событий для более подробной информации. (Исключение из HRESULT: 0x800736B1)
Имя файла: 'TheLibrary, Version = 1.2.3905.36284, Culture = neutral, PublicKe
yToken = 1404827c3a8f2601 '--- > System.Runtime.InteropServices.COMException(0x800
736B1): Приложение не запускалось, потому что его бок о бок конфигураторы
неверно. Подробнее см. Журнал событий приложения. (Exceptio
n от HRESULT: 0x800736B1)
когда я смотрю журнал событий, я получаю эту ошибку.
Не удалось создать генерацию контекста для "C:\project\Debug\MyLibrary.dll". Зависимая сборка Microsoft.VC90.DebugCRT, processorArchitecture = "x86" , publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32" , version = "9.0.21022.8" не удалось найти. Для детальной диагностики используйте sxstrace.exe.
Я использовал sxstrace для регистрации ошибки и вот результат:
=================
Начало генерации контекста активации.
Входной параметр:
Флаги = 0
ProcessorArchitecture = x86
КультураFallBacks = en-US; ru
ManifestPath = C:\Windows\system32\cmd.exe
AssemblyDirectory = C:\Windows\system32\
Файл конфигурации приложения =
INFO: файл манифеста Parsing C:\Windows\system32\cmd.exe.
INFO: Identity Definition Identity - это Microsoft.Windows.FileSystem.CMD, processorArchitecture = "x86" , type = "win32" , version = "5.1.0.0".
INFO: Активация. Создание контекста преуспело.
Конечная генерация контекста.
=================
Начало генерации контекста активации.
Входной параметр:
Флаги = 0
ProcessorArchitecture = x86
КультураFallBacks = en-US; ru
ManifestPath = C:\Debug\TheLibrary.dll
AssemblyDirectory = C:\Debug\
Файл конфигурации приложения =
INFO: файл манифеста Parsing C:\Debug\TheLibrary.dll.
INFO: Идентификация определения манифеста (null).
INFO: Ссылка: Microsoft.VC90.DebugCRT, processorArchitecture = "x86" , publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32" , version = "9.0.21022.8"
INFO: Разрешение ссылки Microsoft.VC90.DebugCRT, processorArchitecture = "x86" , publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32" , version = "9.0.21022.8".
INFO: Разрешение ссылки на ProcessorArchitecture x86. INFO: Разрешение ссылки на культуру Neutral. INFO: Применение политики привязки. INFO: Политика издателя не найдена. INFO: Не найдено перенаправления политики привязки. INFO: Начните сборку. INFO: Не удалось найти сборку в WinSxS. INFO: попытка обнаружения манифеста в C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL. INFO: попытка обнаружить манифест при C:\Debug\Microsoft.VC90.DebugCRT.DLL. INFO: попытка обнаружить манифест при C:\Debug\Microsoft.VC90.DebugCRT.MANIFEST. INFO: попытка обнаружения манифеста в C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL. INFO: попытка обнаружить манифест при C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST.. INFO: Не нашел явной для культуры Нейтральной. INFO: Завершение сборки.
ОШИБКА: Не удается разрешить ссылку Microsoft.VC90.DebugCRT, processorArchitecture = "x86" , publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32" , version = "9.0.21022.8".
ОШИБКА: сбой активации контекста.
Конечная генерация контекста.
Не удается разрешить ссылку Microsoft.VC90.DebugCRT, processorArchitecture =...
любые идеи?
Ответы
Ответ 1
Зависимая сборка Microsoft.VC90.DebugCRT,... не удалось найти
Да, это можно найти только на машине, на которой установлена Visual Studio. DebugCRT не распространяется. И не имеет смысла писать код C или С++ и развертывать для него сборку отладки, это намного медленнее.
Разверните версию сборки релиза вашей DLL. И библиотеки VС++, один из флажков в предварительных требованиях проекта установки.
Ответ 2
У нас только одна и та же ошибка, но причина была настолько ошибочной по сравнению с ошибкой, которую, надеюсь, стоит добавить сюда, поскольку она набирает верх на google...
"Приложение не удалось запустить, потому что его бок о бок конфигурация некорректна" произошла ошибка при запуске службы Windows. В нашем случае это было вызвано тем, что службы application.config xml файла не были действительны - кто-то редактировал его вручную и вставлял в дополнительный закрывающий тег. Внесение изменений в это разрешило сообщение об ошибке "не связанное каким-либо образом".
Самый быстрый способ проверить это - вставить файл xml в один из многих онлайн-инструментов проверки XML, доступных в Интернете.
Ответ 3
Вы можете просто удалить файл манифеста из вашего пути к приложению, тогда исполняемый файл будет работать правильно,
Ответ 4
Для реальной проверки, используете ли вы Windows 7 (должны быть одинаковыми для 8 и Vista)
Открыть из панели управления. Административный инструмент и выбрать средство просмотра событий
Нажмите Windows logs- > Application
Найдите свой журнал ошибок под столбцом бок о бок
Обратите внимание на номер строки, в которой происходит ошибка.
Затем с редактором такая запись или блокнот откройте файл yourfilename.exe.manifest
Затем из номера строки </ to />
удалите строки и сохраните файл
Ваша проблема решена.
Ответ 5
Это отмечено С#, поэтому я дам ответ С#: что-то исказило ваш файл projectname.exe.config.
Потяните его в текстовом редакторе, и, скорее всего, что-то не будет закрыто должным образом или в конце будет несколько символов мусора. Вы можете понять, почему это произошло позже. Но на данный момент просто исправьте его, и вы сможете запустить.
Ответ 6
Убедитесь, что у вас нет неулокальных конфигураций, например <httpsTransport>
в привязке веб-службы http.