Не удалось загрузить файл или сборку microsoft virtualization
************** Текст исключения **************
System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" или один из зависимых от них компонентов. Не удается найти указанный файл.
Имя файла: "Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
в System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
в System.Windows.Forms.Form.OnHandleCreated(EventArgs e)
в System.Windows.Forms.Control.WmCreate(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ContainerControl.WndProc(Message& m)
в System.Windows.Forms.Form.WmCreate(Message& m)
в System.Windows.Forms.Form.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(M essage& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Mes sage& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
если игнорировать ошибки и все время жать "Продолжить", программа работает неправильно, иногда показывает ту же ошибку
Пробовал много раз включать отключать этот компонент, с перезагрузками и без, с последующим обновлением системы и без - на всех этапах наблюдаю одну из этих ошибок.
Предполагаю, что есть смысл использовать какой-то клинер системы, но я всегда относился очень осторожно ко всяким клинерам и ускорителям, поэтому посоветуйте какой-нибудь и скажите какую функцию надо использовать (чтоб лишнего не испортить)
У меня есть еще одна из этих проблем "не удалось загрузить файл или сборку или одну из ее зависимостей".
дополнительная информация: не удалось загрузить файл или сборка 'Майкрософт.Практика.Единство, Версия=1.2.0.0, культуры=нейтральный, PublicKeyToken=31bf3856ad364e35 ' или одна из его зависимостей. В расположенном определение манифеста сборки не не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Я понятия не имею, что вызывает это или как я могу отладить его, чтобы найти причину.
Я сделал поиск в моих каталогах решений .файлы csproj, и каждый, где я есть единство я:
ссылка Include= " Microsoft.Практика.Единство, Версия=2.0.414.0, культура = нейтральная, Значения PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
Не могу найти ссылку в любом месте, которая идет против 1.2.0.0 в любом из моих проектов.
любые идеи, как я стоит ли решать эту проблему?
Я также был бы признателен за советы о том, как отлаживать такие проблемы в целом.
Проверьте, ссылаетесь ли вы на сборку, которая, в свою очередь, ссылается на старую версию unity. Например, предположим, у вас есть сборка под названием ServiceLocator.dll который нуждается в старой версии Unity assembly, теперь, когда вы ссылаетесь на ServiceLocator вы должны предоставить ему старую версию Unity, и это создает проблему.
может быть выходной папкой, где все проекты строят свои сборки, имеет старую версию единство.
можно использовать FusLogVw чтобы узнать, кто загружает старые сборки, просто определите путь для журнала и запустите свое решение, затем проверьте (в FusLogvw) первую строку, где загружается сборка Unity, дважды щелкните ее и посмотрите вызывающую сборку, и вот вы идете.
открыть Диспетчер IIS
Выбрать Пулы Приложений
затем выберите пул, который вы используете
перейдите в дополнительные настройки (справа)
измените флаг включить 32-разрядное приложение false на true.
для меня ни одно из других решений не работало (включая стратегию очистки/восстановления). Я нашел другое обходное решение, которое заключается в закройте и снова откройте Visual Studio.
Я думаю, это заставляет Visual Studio повторно загружать решение и все проекты, перепроверяя зависимости в процессе.
попробуйте очистить папки отладки и выпуска в вашем решении. Затем удалите и снова добавьте единства.
следующее сработало для меня.
кроме того, вы можете просто обновить корпоративную библиотеку до последней версии.
на 99%не удалось загрузить файл или сборку или один из его зависимостей проблема вызвана зависимостей! Я предлагаю вам выполнить следующие шаги:
запуск Зависимость Walker и откройте dll (в моем случае NativeInterfaces.dll )
вы можете увидеть одну или несколько dll с ошибкой в красном цвете ошибка при открытии файла.
это означает, что эта dll отсутствует в вашей системе; в моем случае имя dll MSVCR71.DLL
вы можете скачать missings dll из google и скопировать в правильном направлении (в моем случае c:\windows\system32 )
на этом этапе необходимо зарегистрировать новую dll в GAC( глобальный кэш сборок): откройте терминал DOS и пиши:
несмотря на первоначальный вопрос был опубликован 5 лет назад, проблема все еще сохраняется и довольно раздражает.
пример вывода:
Проверьте интернет.config / App.конфигурационный файл в вашем проекте. Проверьте правильность номеров версий.
это сработало для меня.
У меня была аналогичная проблема. ** Juntos ответ правильный * * но вы должны отметить один важный совет!
для unity 2.1.505.2 разные AssemblyVersion и AssemblyFileVersion указаны:
AssemblyFileVersion используется nuget, но CLR не заботится об этом! CLR будет использовать только AssemblyVersion!
поэтому перенаправления должны применяться к версия, указанная в AssemblyVersion: 2.1.505.0
в обозревателе решений щелкните правой кнопкой мыши проект (не решение), на вкладке сборка выберите цель платформы : "любой процессор".
- Goto:решение ->пакета
- нажать на кнопку дополнительно Tab (найти ниже страницы)
- добавить dll к дополнительным сборкам (таким образом, мы можем добавить внешние библиотеки DLL в sharepoint).
Я также получил эту ужасную ошибку и нашел решение для этого.
- Правой Кнопкой Мыши на имени решения
- Нажмите Очистить Решение
- Перезапустите Visual Studio
- свойства проекта Goto > > Build
- изменить конфигурация to релиз
- Начать Отладку (F5)
1) , 2)
4) , 5)
надеюсь, это поможет вам также.
Не уверен, что это может помочь.
убедитесь, что имя сборки и пространство имен по умолчанию в свойствах в asemblies совпадают. Это решило мою проблему, которая дала ту же ошибку.
Спасибо Ридди М. Слежка сработала для меня.
в моем случае в папке bin была не ссылочная dll под названием Unity.MVC3, я попытался найти любую ссылку на это в visual studio без успеха, поэтому мое решение было так просто, как удалить эту dll из папки bin.
вы говорите, что у вас много проектов в вашем решении . ну, начни с одного в верхней части заказа на сборку. Получите это, чтобы построить, и как только вы это поймете, вы можете применить то же самое исправление к остальным.
честно говоря, вам, вероятно, просто нужно обновить свою ссылку. Похоже, вы либо обновили свою версию и не обновили ссылки, либо это относительная проблема пути, если вы держите свое решение в системе управления версиями. Просто проверьте свои предположения и повторно добавьте ссылка.
эта проблема произошла со мной, когда одна из моих зависимых библиотек компилировала DLL с "любым процессором", когда родительская библиотека ожидала компиляции "x64".
вы должны удалить свое имя приложения.dll-файл из выходной папки. Очистка отладочных и Выпускных папок. Перестроить и скопировать в выходную папку регенерированный dll-файл.
Я "Set as Startup Project" выгруженная / разархивированная библиотека / проект.
затем развернул его.
Я думаю, что он не мог найти .dll, потому что сначала его не было в сборке.
другая возможная причина: убедитесь, что вы случайно не дали обоим проектам одно и то же имя сборки в свойствах проекта.
следующее сработало для меня.
следите за конфликтующими ссылками. Даже после очистки и перестроения конфликтующие ссылки все равно вызовут проблему. Моя проблема была между AForge и Accord. Я удалил обе ссылки и снова добавил ссылки, повторно выбрав конкретную ссылку (в частности, в моем случае, просто Accord).
вот что сработало для меня:
- удалить ссылку
- переименовать DLL
- импортировать ссылку Еще раз
второй шаг был важен, по-видимому, так как он не работал без него.
попробуйте проверить, имеет ли свойство" копировать в локальный " для ссылки значение true, а конкретная версия-true. Это актуально для приложений в Visual Studio.
у меня было это сегодня, и в моем случае проблема была очень странной:
обратите внимание на случайные символы в конце XML-каким-то образом они были перемещены из номера версии в конец этого блока XML!
изменить на выше и вуаля! Все снова сработало.
Если это не работает, пожалуйста, не обижай меня . я тоже младший
хорошо, это может показаться очень глупым, но вот как я решил проблему после того, как попробовал все другие решения и провел ночь на этой глупой вещи.
Я получал ту же ошибку с некоторой DLL, отсутствующей в папке Bin. Я попытался удалить, восстановить все из Team Foundation Server, но не работал. Получил копию папки Bin из моего офиса-matelocal машины и заменил ее. Это тоже не сработало. Наконец, я вручную FTPed server, получил копию DLL, которая была появляться безвестно отсутствующим, а затем он начал показывать, что следующий файл в последовательности списка файлов отсутствует.
таким образом, я ftped-сервер получил всю папку Bin, вручную заменил каждый файл по одному. (Не Ctrl + All и заменить.. Я попытался: не получилось.) И каким-то образом это сработало.
Я искал google для этого и не мог найти решение проблемы.
мой веб-сайт ссылается на DAL (custom dll), который ссылается на компоненты доступа к данным корпоративной библиотеки.
Я добавил библиотеку Enterprise из NuGet Package Manager и когда я пытаюсь построить веб-сайт, появляется эта ошибка компиляции:
Я попытался установить Copy Local = True пишите на Enterprise Library dlls и библиотеки DLL передаются в каталог Bin веб-сайта вместе с DAL dll , но все равно ошибка выскакивает.
может ли кто-нибудь помочь мне в этом.
проблема в том, что DLL, которую вы используете, и тот, на который ссылаются в вашем проекте, отличаются. Я не уверен, что разница в манифесте, но это может быть версия и/или открытый ключ.
У вас есть несколько вещей, чтобы попробовать:
откройте свойства для ссылки DLL в вашем проекте и установите версию, специфичную для false.
удалите ссылку, удалите DLL из папки bin и повторно добавьте ссылка.
У вас также может быть другая/неправильная версия в вашем GAC. Чтобы убедиться, что вы всегда используете определенную известную версию, создайте папку сборок относительно каталога проекта, скопируйте dll в этот каталог и добавьте ссылку на DLL в каталоге сборок, а не в GAC или в другом месте на вашем компьютере. Это гарантирует, что будет использоваться только конкретная версия, предназначенная для приложения вместо любой версии, которая обновляется на вашем компьютере в более позднее время.
эта dll, вероятно, будет в GAC на компьютерах разработчиков в рамках установки некоторых приложений windows (мои лучшие предположения-Visual Studio или SSMS). Вот почему мы, вероятно, получим предупреждения или ошибки на машине сборки, которую мы стараемся держать GAC таким же чистым, как и производственный сервер.
Спасибо за эту информацию
Я получил ту же проблему, я обновил фреймворк с 2.0 до 4.0, я пробовал все, что вы упомянули, но решение состояло в том, чтобы установить значения PublicKeyToken для каждой ссылки EnterpriseLibrary в Интернете.Файл config
тот же вопрос! Я только что закончил сборку и перестроил проект. Итак, все старые вещи ушли и правильные версии заменены. Разрешенный.
я смог решить эту проблему, удалив из все ссылки на ведение журнала в приложении.файл конфигурации::
Это не идеально, но это работает.
инструмент конфигурации корпоративной библиотеки устанавливает значения обратно, поэтому вам нужно следить за этим. Я знаю, что есть способ сказать файлу конфигурации принять эти неправильно подобранные настройки, но я не уверен, как это сделать.
у меня есть два проекта, ProjectA и ProjectB . ProjectB есть консольное приложение, которое зависит от ProjectA . Вчера все работало нормально, но вдруг сегодня, когда я бегу ProjectB Я понимаю:
BadImageFormatException был необработанным:
Не удалось загрузить файл или сборку "ProjectA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" или одну из ее зависимостей. Была сделана попытка загрузить программу, имеющую неверный формат.
вещи, которые я пробовал:
- убедитесь, что оба проекта настроены на "любой процессор" с помощью построить проверено. Они.
- убедитесь, что оба проекта предназначены для одной цели Рамки (Профиль Клиента .Net 4.0).
- в разделе ProjectB --> ссылки --> ProjectA -- > свойства, убедитесь, что "Копировать Локально" установлено значение "правда" _ (я проверил этот проект.dll копируется правильно)
- очистить/перестроить решение. Я даже попытался вручную удалить папки /bin и /obj в обоих проектах.
- Перезапустите Visual Studio. Перезагрузить компьютер.
- проверить совершенно новая копия хранилища.
Я уверен, что у вас 32-разрядная / 64-разрядная конфликта. Похоже, что ваш основной проект может быть установлен в 32-разрядный, А класс, на который он ссылается, - в 64-разрядный. Попробуйте посмотреть на это так вопрос и и это тоже. Между ними двумя, Вы должны быть в состоянии понять свою проблему.
возможно, вы столкнулись с проблемой с вашим сайтом после развертывания на сервере.
затем вам нужно настроить пул приложений для включения 32-разрядных приложений.
- открыть Диспетчер IIS
- нажмите на пулы приложений
- выберите пул приложений, который вы используете
- на правой панели выберите Дополнительные параметры.
- Set включить 32-разрядные приложения для Правда
Инструменты - > Параметры - > проекты и решения - > веб-проекты
Установить флажок это говорит: "используйте 64-разрядную версию IIS Express для веб-сайтов и проекты."
У меня была такая же проблема. Я установил "цель платформы" проекта A ("проект A"(щелкните правой кнопкой мыши)->Свойства->сборка->" цель платформы") в x86, но сохранил проект B в"любом процессоре". Задание проекта " Б " на "x86" это исправил.
У меня была эта проблема с запуском модульных тестов (xunit) в Visual Studio 2015 и наткнулся на следующее исправление:
возможно, Вам придется изменить Приложение, Бассейн настройка "Enable 32bit Applications" на TRUE в IIS7, если у вас есть по крайней мере 1 32bit dll\exe в вашем проекте.
вы также можете увидеть эту проблему, если вы пытаетесь упаковать 64-битный проект с установщиком MSI в VS. ("Причина в том, что родная прокладка упакована с помощью .MSI-файл представляет собой 32-разрядный исполняемый файл.")
ни одно из этих решений не сработало для меня, но, удалив содержимое папок bin и obj, все снова стало круто.
Я получил это при создании проекта через Visual Studio Online (VSTS) Build с помощью Visual Studio Build действия.
- удалить существующую исходную папку
- явно установите "любой процессор" в платформе для всех сборок Visual Studio, включая зависимости (см. снимок экрана ниже).
- повторно запустите сборку
Я столкнулся с такой же проблемой. Он выскочил из ниоткуда, и это показалось мне странным.
все проекты имели целевой процессор AnyCPU. Я изменил проект приложения ( проект, который ссылается на все другие проекты) на целевой процессор x86. Теперь это работает.
Не уверен, как целевой процессор перепутался без видимой причины, но это произошло.
Я также сталкиваются с этой проблемой в проекте, через несколько минут я нашел решение, эта проблема связана с конфигурацией CPU, Если вы используете Visual Studio 2010 или VS 2013, just goto project ' s свойства и выберите Compile из боковой панели, и будет 5 выпадающих, 5-й выпадающий будет целевой процессор:, вы должны установить его на x86 или x64 согласно вашим требованиям вместо любого К. П. У.
моя проблема была решена после замены его на x86.
а также это срабатывает, когда у вас есть оба упомянутых фреймворка, доступных в вашей системе.
в качестве обходного пути вызовите целевую структуру, которую вы собираетесь использовать для отладки в приложение.config
установите все пакеты ниже
распространяемые пакеты Visual C++ для Visual Studio 2013-vcredist_x64
распространяемые пакеты Visual C++ для Visual Studio 2013-vcredist_x86
распространяемые пакеты Visual C++ для Visual Studio 2012-vcredist_x64
распространяемые пакеты Visual C++ для Visual Studio 2012-vcredist_x86
прежде всего, я получил это в VS2017 со старым проектом, который мне нужно было сделать крошечные изменение и upraded все проекты в рамках 4.7.
есть несколько мест, где вам нужно это сделать, и это может быть не так просто, как выбор из раскрывающегося списка. Это исправило его для меня:
1) вам нужно сделать это оба здесь:
2), а также в Configuration Manager (правой кнопкой мыши на решение)
но что, если его не существует.
нажмите кнопку New и выберите следующие настройки: ( спасибо @RckLN)
Это может быть немного смешно, но у меня была такая же проблема с обычным рабочим кодом. Я добавил StreamWriter и StreamReader, и это дало эту ошибку. Решение было в том, что я взял этот код в скобки комментариев, затем отладил, и он снова начал работать
У меня также была эта проблема с запуском модульных тестов с помощью ReSharper в Visual Studio 2017 и исправлена со следующей конфигурацией:
моя машина показала мне обновление BIOS, и я задался вопросом, связано ли это с внезапным появлением этой ошибки. И после того, как я сделал обновление, ошибка была решена, и решение построено нормально.
Microsoft.Virtualization.Client.Common.Types.dll Описание файла | |
---|---|
Расширение файла: | DLL |
Тип приложения: | Operating System |
App: | Windows 10 Enterprise 2016 LTSB N x64 |
Версия: | 1607 |
Компания: | Microsoft |
Имя файла: | Microsoft.Virtualization.Client.Common.Types.dll 097d2000f29f3e5f21961b4f6d4079258b69f4bf |
MD5: | cdb849f42b07b5a235471eca28c92186 |
CRC32: | e824accf |
Идентификатор статьи: 223393
Выберите версию ОС
Выберите программное обеспечение
Спасибо, ваш файл запроса был получен.
- «Microsoft.Virtualization.Client.Common.Types.dll не может быть найден. «
- "Файл Microsoft.Virtualization.Client.Common.Types.dll отсутствует."
- "Microsoft.Virtualization.Client.Common.Types.dll нарушение прав доступа."
- "Файл Microsoft.Virtualization.Client.Common.Types.dll не удалось зарегистрировать."
- "Файл C:\Windows\System32\\Microsoft.Virtualization.Client.Common.Types.dll не найден."
- «Не могу запустить Windows 10 Enterprise 2016 LTSB N x64. Отсутствует компонент Microsoft.Virtualization.Client.Common.Types.dll. Переустановите Windows 10 Enterprise 2016 LTSB N x64. «
- "Не удалось запустить данное приложение, так как не найден файл Microsoft.Virtualization.Client.Common.Types.dll. Повторная установка приложения может решить эту проблему."
Читайте также: