自定义工具“RazorGenerator”失败了。该方法或操作未实现

时间:2012-10-19 13:13:02

标签: asp.net-mvc asp.net-mvc-3 visual-studio-extensions razorgenerator

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

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

我以前在我的项目中工作没有问题,但升级似乎打破了它。有谁知道如何解决这个问题?我现在甚至无法回滚到之前的版本,因为它是通过ExtensionManager安装的。

RazorGenerator.MVC in nuget的最新版本是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.

downloaded the source,在本地构建并将“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 个答案:

答案 0 :(得分: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。

work item尚未被提取但最终如果您遇到此问题,则将文件复制并重新启动应该可以解决问题。

答案 1 :(得分:5)

对于其他在VS2012遇到困扰的人来说 - 这里的建议对我来说有一些警告:

  • 我的扩展程序文件夹是一些自动生成的名称,不像上面那样:

%USERPROFILE%\应用程序数据\本地\微软\ VisualStudio的\ 11.0 \扩展\ 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%\应用程序数据\本地\组件\ DL3 \ VVGKRX56.ODL \ P1CK8APX.LRJ \ 1188e83c \ 133862b8_6531ce01

  • 现在我有两个。在codeplex帖子中,pranavkmwr提到选择基于您正在使用的Razor的版本。我想那些版本号是指剃刀引擎,而不是RazorGenerator版本。

答案 2 :(得分:1)

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

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

以及让我的Razor Generator删除文件而不是生成它们。但是,我没有得到与丢失的汇编文件有关的错误。

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

答案 3 :(得分:0)

我通过简单地卸载RazorGenerator扩展并重新启动VS来修复我的系统上的这个问题。

我做的第一次没用,但我还在后台打开了另一个Visual Studio实例。因此,请确保关闭所有Visual Studio窗口。您可能还需要检查后台进程以确保没有任何进程仍在运行。

答案 4 :(得分:0)

在我的情况下,帮助关闭所有Visual Studio并只打开一个。 看来这个组件在多个打开的实例Visual Studio 2015中存在问题。

也许它会帮助别人。