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

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

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

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

28 ответов

Решение

Я решил эту проблему, очистив кэш Visual Studio Component Model.

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

%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

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

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

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

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

Visual Studio Express

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

С Visual Studio Express 2012 для Интернета

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

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

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

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

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

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

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

Вот мой источник.

Эта проблема может быть решена путем удаления или очистки всех папок и файлов из %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

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

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

Для 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

У меня 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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо

Я получил ошибку с тем же сообщением об ошибке - два года спустя. На этот раз это другая проблема, связанная с.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 за это.

Удаление ComponentModelCacheу меня не сработало. Переустановка VS 2019 произошла благодаря рекомендации в этой теме поддержки Microsoft.

Детали

  • Кажется, это известная ошибка с исправлением, поступающим от MS (по состоянию на 07.01.2020)
  • Испытал после обновления VS2019 Pro 16.2 (кажется, было?) До 16.4.2 с помощью установщика Visual Studio
  • Ошибка отображается при попытке запустить консоль nuget и диспетчер пакетов nuget

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

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

Visual Studio Installer Projects extensions for VS 2013.

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

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

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

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

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

Во-первых, вам необходимо убедиться, что у вас установлена ​​последняя версия Microsoft .NET Framework, в моем случае у меня была версия 4.6, и я загрузил и обновил .NET Framework 4.8.03761 Developer Pack с официального сайта:

https://dotnet.microsoft.com/download/dotnet-framework/net48

После перезапуска компьютера, чтобы продолжить исправление, я решил эту проблему, очистив кэш модели компонентов Visual Studio.

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

% LocalAppData% \ Microsoft \ VisualStudio \11.0\ComponentModelCache или

% LocalAppData% \ Microsoft \ VPDExpress \11.0\ComponentModelCache и перезапустите Visual Studio.

Ничто из этого не помогло мне. Попробуем удалить, очистить кеш, папки, перезагрузить и т. Д. Затем переустановить. Какая трата дня!

Мои 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
Другие вопросы по тегам