Не удалось выполнить настраиваемый инструмент "RazorGenerator". Метод или операция не реализованы
Я только что обновил расширение Visual Studio RazorGenerator до версии V1.5 (последнее обновление 10/14/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.
I загрузил источник, был создан локально и скопировал "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
Любая помощь будет очень оценена.
Ответы
Ответ 1
Я надеялся на лучший ответ на это, но поскольку это решает проблему, я решил, что должен опубликовать ее.
В принципе @Bobson был прав, создав копию файлов в директории, которая решила его. В моем случае, сделав копию/вставку сборки RazorGenerator.Core.v1.dll
из
C:\Users\Rob\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\RazorGenerator contributors\Razor Generator\1.5
to
C:\Users\Rob\AppData\Local\assembly\dl3\VQ93NZJ0.M7K\4HA91P75.CHN\4b53b7b1\09b87db8_d4adcd01
Это дало мне 3 файла в этом каталоге:
__AssemblyInfo__.ini
RazorGenerator.Core.dll
RazorGenerator.Core.v1.dll
Я не заметил, что это сначала решило проблему, потому что это также требует повторного запуска визуальной студии.
Элемент еще не был поднят, но в конечном счете, если у вас возникла эта проблема, копирование файлов и повторное начало должны быть исправлены.
Ответ 2
Для всех, кто застрял здесь в VS2012 - предложения здесь работали для меня с двумя оговорками:
- В моей папке расширения было какое-то автогенерированное имя, но не очень похожее выше:
% USERPROFILE%\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\qd42h302.z0o
- В этой папке я нашел только RazorGenerator.Core.dll и RazorGenerator.dll. Я скопировал оба (и расширение .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 упоминает выбор версии на основе используемой вами бритвы. Я предполагаю, что эти номера версий относятся к бритвенному двигателю, без версии RazorGenerator.
Ответ 3
Хотя это и не ответ на эту конкретную проблему, у меня была аналогичная проблема, когда я получал эту ошибку:
The custom tool 'RazorGenerator' failed. The method or operation is not implemented.
а также чтобы мой генератор бритвы удалял файлы вместо их генерации. Однако я не получил ошибку, связанную с отсутствующим файлом сборки.
Моя проблема заключалась в некотором ошибочном тексте, который случайно был добавлен в конец файла web.config, что делает его недействительным и вызывает вышеупомянутые проблемы. Исправлена проблема с файлом web.config. Надеюсь, это поможет кому-то с подобной проблемой.
Ответ 4
Я исправил эту проблему в своей системе, просто удалив расширение RazorGenerator и перезапустив VS.
Это не сработало первые пару раз, я сделал это, но у меня также был еще один экземпляр Visual Studio, открытый в фоновом режиме. Поэтому убедитесь, что вы закрываете все окна Visual Studio. Вы также можете проверить фоновые процессы, чтобы убедиться, что ни один из них не запущен.
Ответ 5
В моем случае помощь закрыла всю Visual Studio и открыла только одну.
Похоже, что этот компонент имеет проблему с более чем одним открытым экземпляром Visual Studio 2015.
Может быть, это поможет кому-то.