11

我刚刚将 Visual Studio 扩展RazorGenerator升级到 V1.5(上次更新时间为 2012 年 10 月 14 日),现在有以下问题。

现在编辑的每个 cshtml 文件都会删除生成的文件,如果我选择“运行自定义工具”,我会得到The custom tool 'RazorGenerator' failed. The method or operation is not implemented.

我以前在我的项目中使用它没有问题,但升级似乎已经破坏了它。有谁知道如何解决这个问题..?因为它是通过 ExtensionManager 安装的,所以我现在似乎无法回滚到以前的版本。

nuget 中 RazorGenerator.MVC的最新版本是 1.4(2012 年 4 月 20 日,星期五),所以问题可能是版本不匹配..?

我曾尝试重新启动 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

任何帮助将不胜感激。

4

5 回答 5

14

我希望对此有更好的答案,但由于这解决了问题,所以我想我应该发布它。

基本上@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

起初我没有注意到这已经解决了这个问题,因为它还需要重新启动 Visual Studio。

工作项尚未被拾取,但最终如果您遇到此问题,那么复制文件并重新启动应该可以解决它。

于 2012-10-30T17:00:40.697 回答
5

对于在 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\assembly\dl3\VVGKRX56.ODL\P1CK8APX.LRJ\1188e83c\133862b8_6531ce01

  • 现在我两者都有。在 codeplex 帖子中,pranavkmwr 提到根据您使用的 Razor 选择版本。我猜这些版本号是指剃须刀引擎,而不是 RazorGenerator 版本。
于 2013-04-04T19:13:05.417 回答
3

虽然不是这个特定问题的答案,但我遇到了类似的问题,我收到了这个错误:

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

以及让我的 Razor Generator 删除文件而不是生成它们。但是,我没有得到与缺少的程序集文件有关的错误。

我的问题是一些错误的文本被意外添加到 web.config 文件的末尾,显然使其无效并导致上述问题。修复 web.config 文件修复了问题。希望这可以帮助有类似问题的人。

于 2013-01-03T16:54:24.970 回答
0

我通过简单地卸载 RazorGenerator 扩展并重新启动 VS 在我的系统上解决了这个问题。

在我做的前几次它没有工作,但我还在后台打开了另一个 Visual Studio 实例。因此,请确保关闭所有 Visual Studio 窗口。您可能还想检查后台进程以确保没有仍在运行。

于 2013-04-10T10:57:33.777 回答
0

就我而言,帮助关闭了所有 Visual Studio,只打开了一个。似乎这个组件有多个打开的实例 Visual Studio 2015 的问题。

也许它会帮助某人。

于 2016-08-03T22:25:51.307 回答