我刚刚将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

除此之外,对于每个 View ,我都会收到以下构建错误(尽管说构建成功):
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

任何帮助将不胜感激。

最佳答案

我希望对此有一个更好的答案,但是由于这可以解决问题,所以我认为应该将其发布。

基本上@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尚未被拾取,但最终,如果您遇到此问题,则复制文件并重新启动应该可以解决该问题。

10-04 18:17