Сообщение об ошибке "Экспорт не найден, что соответствует названию контракта ограничения"

Сегодня утром я столкнулся с проблемой при открытии моего решения Visual Studio, и когда я попытался запустить его, он сказал:

Экспорт не найден, что соответствует названию контракта ограничения

Как я могу исправить эту проблему?

Ответ 1

Я решил эту проблему путем очистки кэша модели компонентов Visual Studio.

Просто удалите или переименуйте эту папку:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

или же

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

и перезапустите Visual Studio.

Версия Visual Studio, которую вы используете, определяется числом, например

Visual Studio 2012 11.0 (как показано выше)

Visual Studio 2013 составляет 12.0

Visual Studio 2015 составляет 14.0

Visual Studio 2017 составляет 15.0

Для тех, кто не знает: %LocalAppData%\ совпадает с C:\Users\{yourUsername}\AppData\Local

Для тех, у кого установлено несколько версий Visual Studio, например, 2012 и 2013, может быть полезно удалить ComponentModelCache для обеих версий перед перезапуском Visual Studio, например, 11.0 и 12.0.

Ответ 2

Не нужно переименовывать или удалять всю папку:

(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)

Просто переименуйте или удалите файл Microsoft.VisualStudio.Default.cache внутри указанного места.

Ответ 3

Visual Studio Express 2012 имеет разные пути.

Visual Studio Express

  • ...\Users\{пользователь}\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache

С Visual Studio Express 2012 для Web

  • ...\Users\{пользователь}\AppData\Local\Microsoft\VWDExpress\11.0\ComponentModelCache

Мне не нужно было повторно устанавливать Visual Studio Express

Ответ 4

Это будет действительно работать как чемпион:

Решение. Попробуйте удалить папку ComponentModelCache из расположенного ниже расположения.

[C:]\Users\[your user name]\AppData\Local\Microsoft\VisualStudio\[Visual Studio version number]

И после успешного удаления заново создайте папку с тем же именем "ComponentModelCache".

Ответ 5

Удаление кэша компонентной модели у меня не сработало (ну, относительный каталог, указанный выше, не существовал на моей машине). Вместо этого я установил расширение для Visual Studio 2012 Express. Меню Инструменты → * Расширения и обновления... ** → Онлайн → Выберите любой и затем загрузите. Это, очевидно, делает недействительным кеш, заставляя Visual Studio его перестраивать.

Здесь мой источник.

Ответ 6

Эту проблему можно решить, удалив или очистив все папки и файлы из %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Это на самом деле очищает кэш модели компонентов Visual Studio.

На машинах Windows 7 путь другой. Когда вы %appdata% в диалоговом окне "Выполнить", он открывает папку C:\Users\<username>\AppData\Roaming.

Нажмите кнопку "вверх", чтобы перейти к родительской папке и выбрать папку "Local".

Окончательный путь: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Ответ 7

Для Visual Studio 2013 вам нужно удалить эту папку из этого пути:

%AppData%\..\Local\Microsoft\VisualStudio\12.0

Ответ 8

для Visual Studio 2012 и более поздних версий, решение должно удалять содержимое папки ComponentModelCache:

C:\Users\[username]\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache

Visual Studio 2013

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache

Ответ 9

У меня была та же проблема при запуске Visual Studio 2013 Ultimate, и решения, которые я здесь дал, не сработали. Я попытался удалить указанные папки и снова запустить Visual Studio, но это не сработало.

Однако у меня были и другие проблемы: например, пакет Microsoft.visual studio не загружался правильно, а также страница '312e8a59-2712-48a1-863e-0ef4e67961fc' не найдена VS 2012. Последнее относится к сообщению в окне Team Explorer, в котором говорится, что "страница" somenumber "не может быть найдена".

Поэтому я запускаю devenv/setup в командной строке Visual Studio с правами администратора. Он сделал свою работу, и теперь все в порядке.

Ответ 10

Удалите содержимое папки ComponentModelCache.

 %AppData%..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Ответ 11

Очистка папок для меня не работала. Поэтому я пошел в "Программы и функции" и использовал кнопку изменения для запуска установки Visual Studio 2013.

В настройке я выбираю функцию восстановления и исправил проблему для меня.

Ответ 12

У меня была такая же проблема с Visual Studio Express 2013 Windows 8.1.

К сожалению, в папке "ComponentModelCache" не было % AppData%..\Local\Microsoft\VisualStudio\12,0\ComponentModelCache.

Я нашел папку "ComponentModelCache" в
.. \Users [имя пользователя]\AppData\Local\Microsoft\WDExpress\12,0

и решил эту проблему, удалив из нее эту папку.

Ответ 13

Если у вас есть VS 2013, вам нужно перейти к: % LOCALAPPDATA%\Microsoft\VisualStudio\12.0 затем переименуйте папку ComponentModelCache.

Ответ 14

Я столкнулся с подобной проблемой после некоторых обновлений, выпущенных от Microsoft (часть из них, где о .NET Framework 4.5).

В Интернете я получил следующую ссылку на статью базы знаний Microsoft:

Обновление для Microsoft Visual Studio 2012 (KB2781514)

Это сработало для меня.

Ответ 15

Это случилось со мной в Visual Studio 2013 Web, после того как Windows установила несколько обновлений. К сожалению, ни одно из предложений в этой теме не помогло.

Пришлось перезапустить установщик и выбрать опцию "Ремонт". После этого (и перезагрузка) снова заработало.

В некоторых случаях вам может потребоваться восстановить несколько версий Visual Studio. Один из примеров - когда элемент управления "Задача сценария" в VS 2013 открывает VS 2012, когда вы нажимаете "Изменить сценарий".

Ответ 16

Переименование папки ComponentModelCache работало для меня в Visual Studio 2015, но с немного другим путем:

%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

Ответ 17

У меня есть Windows 7 x64 со вторым разделом, на котором установлена ​​Windows 8 (предварительный просмотр установлен). Во время работы с Microsoft Visual Studio Express 2012 для Windows Phone у меня возникает та же проблема. Но ComponentModelCache находится здесь:

C:\Users\Jayaram\AppData\Local\Microsoft\VPDExpress\11.0

Я не могу удалить или переименовать, поскольку при попытке использовать командную строку я получаю сообщение "отказ в доступе":

Администратор: VS2012 X64 CrossToolsCommandPrompt

Ответ 18

Я использую Visual Studio 2012. После установки веб-экспресса Visual Studio 2013, когда я хочу запустить или открыть какой-либо проект в Visual Studio 2012, появляется следующая ошибка:

msgstr "не найдено ни одного экспорта, соответствующего имени контракта ограничения".

Я также попробовал вышеупомянутое решение для очистки ComponentModelCache, но я не нашел папку. Я решаю свою проблему просто: Ремонт Visual Studio 2012

Для версий программного обеспечения Express нужная папка находится в несколько другом месте: для Express 2012 для Интернета это папка C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpress не в папке Visual Studio.,

Ответ 19

Эта проблема связана с повреждением кеша MEF. Установка расширения обратной связи (или установка любого расширения) приведет к недействительности кеша, в результате чего VS перестроит его.

нажмите для источника.

Ответ 20

У меня возникла эта проблема в Microsoft Visual Studio Express 2012 для телефона Windows при попытке открыть файл.

Затем я просмотрел

C:\Users\MyUserName\AppData\Local\Microsoft\VPDExpress\11.0\ComponentModelCache

И внутри ComponentModelCache я удалил файл CACHE Microsoft.VisualStudio.Default.cache. Наконец, я перезапустил визуальную студию и снова открыл свой проект.

Тогда моя проблема была решена, я смог открыть файл.

Примечание. Моя ОС - это Windows 8. И я установил SDK 8 для разработки приложения для Windows Phone

Спасибо

Ответ 21

Я получил ошибку с тем же сообщением об ошибке - два года спустя. На этот раз это другая проблема, связанная с .NET Core dnx.

Я не смог найти ответ по переполнению стека, но есть проблема GitHub, которая содержит обходной путь: https://github.com/aspnet/Home/issues/1455

Ниже приведена наиболее важная часть обходного пути:

  • Удалите весь C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNX. (Насколько я понимаю, это относится к старой версии ASP.NET Core RC1, которая по некоторым причинам все еще поставляется даже с Visual Studio 2015 Update-3).
  • Удалите файл C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config.
  • Запустите командную строку разработчика для Visual Studio 2015 от имени администратора и выполните команду devenv/setup. Создается новый файл devenv.exe.config. На этот раз существует множество сборок, которые ссылаются на C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNet.
  • Запустите Visual Studio 2015 и убедитесь, что в нем отображаются основные инструменты Microsoft.NET (предварительный просмотр 2) 14.1.20624.0 в меню "Справка => О Microsoft Visual Studio".

Спасибо посту олегбурова на GitHub за выяснение этого.

Ответ 22

Мне пришлось удалить некоторые внешние компоненты, такие как Postsharp и Apex, а затем это сработало. Я также попробовал выбранное решение, но это дало мне больше ошибок.

Ответ 23

Удаление папок не сработало для меня, я пошел на панель управления и отремонтировал

Visual Studio Installer Projects extensions for VS 2013.

И это сработало для меня

Ответ 24

Я получил эту ошибку после переустановки IntelliJ IDEA и ReSharper для С# в Visual Studio 2013.

Во-первых, у меня возникла проблема с расширениями, и после этого я получил эту ошибку:

"Не найдено ни одного экспорта, соответствующего имени контракта ограничения"

Я просто удалил папку ComponentModelCache и решил эту ошибку.

Ответ 25

Мои 2 цента: следуя всем приведенным выше советам по спасению жизни, у меня был немного другой опыт; у меня VS VS Community Edition, установленный один раз, и я заметил, что все эти 3 папки:

%LocalAppData%\Microsoft\VisualStudio\15.0 ==> Empty
%LocalAppData%\Microsoft\VisualStudio\7f0c75b0 ==> has only the CoreCon folder

Это тот, который имеет ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

Удаление только Microsoft.VisualStudio.Default.cache не имело никакого эффекта.

Итак, я удалил все 4 файла:.cache,.err,.external и каталоги. При перезапуске VS проблема исчезла и появился 5-й файл:

Microsoft.VisualStudio.Default.scan