Произошел сбой пользовательского инструмента "RazorGenerator". Метод или операция не реализована

Я только что обновил расширение Visual Studio RazorGenerator до V1.5 (последнее обновление 14.10.2012) и теперь у меня возникают следующие проблемы.

Каждый редактируемый файл cshtml теперь удаляет сгенерированный файл, если я выберу "Запустить пользовательский инструмент", я получу The custom tool 'RazorGenerator' failed. The method or operation is not implemented.

Раньше он работал в моем проекте без проблем, но обновление, похоже, сломало его. Кто-нибудь знает, как это можно исправить..? Я даже не могу откатиться к предыдущей версии сейчас, так как она установлена ​​через ExtensionManager.

Последняя версия RazorGenerator.MVC в nuget - 1.4 (пятница, 20 апреля 2012 г.), так что, возможно, проблема в несовпадении версий..?

Я попытался перезапустить VS и мою машину безуспешно, я даже удалил расширение и переустановил, и это тоже не сработало.

Exception calling "RunCustomTool" with "0" argument(s): "The custom tool 'RazorGenerator' failed.  The method or operation is not implemented."
At D:\Source\MySolution\MyProject\packages\RazorGenerator.Mvc.1.4.0.0\tools\RazorGenerator.psm1:32 char:32
+         $_.Object.RunCustomTool <<<< ()
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ComMethodTargetInvocation

Exception calling "GetItem" with "1" argument(s): "The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))"
At D:\Source\MySolution\MyProject\packages\RazorGenerator.Mvc.1.4.0.0\tools\RazorGenerator.psm1:62 char:46
+                     $solutionExplorer.GetItem <<<< ("$SolutionName\$ProjectName$relativePath").UIHierarchyItems.Expanded = $false
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ComMethodTargetInvocation

В дополнение к этому я получаю следующие ошибки сборки для каждого представления (несмотря на то, что сборка прошла успешно):

Custom tool error: Could not load file or assembly 'file:///C:\Users\Rob\AppData\Local\assembly\dl3\VQ93NZJ0.M7K\4HA91P75.CHN\4b53b7b1\09b87db8_d4adcd01\RazorGenerator.Core.v1.dll' or one of its dependencies. The system cannot find the file specified.

Я загрузил исходный код, собрал локально и скопировал файл 'RazorGenerator.Core.v1.dll' в каталог из сообщения об ошибке, но он все еще не работал. Я даже скопировал все файлы RazorGenerator*.dll в этот каталог, но все равно не повезло. При проверке зависимостей отображаются только системные сборки и файл RazorGenerator.Core.dll, который находится в том же каталоге.

Кстати, файл 'RazorGenerator.Core.dll' уже был в каталоге выше.

Глядя в папку расширений Visual Studio у меня есть каталог для RazorGenerator следующим образом:

C:\Users\Rob\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\RazorGenerator contributors\Razor Generator\1.5

В этой папке находятся следующие файлы и сборки:

extension.vsixmanifest
RazorGenerator.Core.dll
RazorGenerator.Core.v1.dll
RazorGenerator.Core.V2.dll
RazorGenerator.dll
RazorGenerator.pdb
RazorGenerator.pkgdef

Любая помощь будет очень высоко ценится.

5 ответов

Решение

Я надеялся на лучший ответ на этот вопрос, но, поскольку это решает проблему, я решил опубликовать его.

В основном @Bobson был прав, создание копии файлов в каталоге решило эту проблему. В моем случае делаю копию / вставку RazorGenerator.Core.v1.dll собрание от

C:\Users\Rob\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\RazorGenerator contributors\Razor Generator\1.5

в

C:\Users\Rob\AppData\Local\assembly\dl3\VQ93NZJ0.M7K\4HA91P75.CHN\4b53b7b1\09b87db8_d4adcd01

Это дало мне 3 файла в этом каталоге:

__AssemblyInfo__.ini
RazorGenerator.Core.dll
RazorGenerator.Core.v1.dll

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

Рабочий элемент еще не был выбран, но, в конечном счете, если у вас есть эта проблема, то копирование файлов и повторный запуск должны исправить это.

Для всех, кто застрял здесь, в VS2012 - предложения здесь сработали для меня с несколькими оговорками:

  • Папкой моего расширения было какое-то автоматически сгенерированное имя, не похожее на приведенное выше

% USERPROFILE% \ AppData \ Local \ Microsoft \ VisualStudio \ 11.0 \ Extensions \ qd42h302.z0o

  • В этой папке я нашел только RazorGenerator.Core.dll и RazorGenerator.dll. Я скопировал оба (и extension.vsixmanifest и RazorGenerator.pkgdef). Тогда у меня было две папки под v1 и v2. Поскольку на момент написания этой статьи текущая версия RazorGenerator.Mvc была 1.5.5.0, я предположил, что v2 - это следующий выпуск.

Это не так. Мне также пришлось скопировать \ v2 \ RazorGenerator.Core.V2.dll в каталог локальной сборки:

% USERPROFILE% \ AppData \ Local \ сборка \ DL3\VVGKRX56.ODL\P1CK8APX.LRJ\1188e83c\133862b8_6531ce01

  • Теперь у меня есть оба. В посте codeplex pranavkmwr упоминает о выборе версии, основанной на используемой вами Razor. Я думаю, что эти номера версий относятся к двигателю бритвы, а не к версии RazorGenerator.

Хотя это не было ответом на эту конкретную проблему, у меня была похожая проблема, когда я получал эту ошибку:

The custom tool 'RazorGenerator' failed. The method or operation is not implemented.

а также мой Razor Generator для удаления файлов вместо их генерации. Однако я не получил ошибку, связанную с отсутствующим файлом сборки.

Моя проблема заключалась в том, что какой-то ошибочный текст был случайно добавлен в конец файла web.config, что делало его недействительным и вызывал вышеупомянутые проблемы. Исправление файла web.config устранило проблему. Надеюсь, это поможет кому-то с подобной проблемой.

В моем случае помогите закрыть все Visual Studio и открыть только один. Кажется, что этот компонент имеет проблемы с более чем одним открытым экземпляром Visual Studio 2015.

Может быть, это кому-то поможет.

Я исправил эту проблему в своей системе, просто удалив расширение RazorGenerator и перезапустив VS.

Это не сработало в первые пару раз, когда я сделал это, но у меня также был другой экземпляр Visual Studio, открытый в фоновом режиме. Поэтому убедитесь, что вы закрыли все окна Visual Studio. Вы также можете проверить фоновые процессы, чтобы убедиться, что ни один из них не запущен.

Другие вопросы по тегам