我可以使用Razor Intellisense查看.html文件,就好像它们是Visual Studio 2010中的.cshtml文件一样吗?

时间:2012-05-10 02:12:40

标签: asp.net-mvc-3 visual-studio-2010 razor intellisense

我已经得到.Net MVC3来处理.html(以及其他自定义扩展)就像一个.cshtml文件,但VS2010不会突出显示Razor语法或显示Intellisense。如何让VS2010将.html文件识别为.cshtml?

1 个答案:

答案 0 :(得分:2)

这并不容易。如果您看到asp.net mvc 3 source,则可以在webpages文件夹中看到下一步:

文件:RazorDebugHelpers.cs

// Trim the html part of cshtml or vbhtml
string outputExtension = extension.Substring(0, 3);

文件:RazorCodeLanguage.cs

private static IDictionary<string, RazorCodeLanguage> _services = new Dictionary<string, RazorCodeLanguage>(StringComparer.OrdinalIgnoreCase) {
        { "cshtml", new CSharpRazorCodeLanguage() },
        { "vbhtml", new VBRazorCodeLanguage() }
    };

文件:PreApplicationStartCode.cs

WebPageHttpHandler.RegisterExtension("cshtml");
WebPageHttpHandler.RegisterExtension("vbhtml");

等等。

我想说什么?扩展逻辑非常深入mvc。如果你想做类似的事情你可能需要下载源代码,编辑它们并构建自定义库,但它的时间非常昂贵。也许你可以通过其他方式问你问题,我希望能为你的问题提供更好的解决方案。