我能使用Razor Intellisense在Visual Studio 2010中查看.html文件,就像查看.cshtml文件一样吗?

3

我已经让 .Net MVC3 处理 .html(和其他自定义扩展名)的文件,就像处理 .cshtml 文件一样,但是 VS2010 不会为其突出显示 Razor 语法或显示智能感知。我该如何让 VS2010 将 .html 文件识别为 .cshtml?


请查看以下链接:https://dev59.com/NFLTa4cB1Zd3GeqPfPoy - Valamas
谢谢@Valamas的建议,但是并没有成功。我已经尝试过在文本编辑器->文件扩展名中添加我的扩展名,但是在编辑器下拉菜单中并没有出现突出显示Razor代码的选项。 - ChAmp33n
2
这是我的问题。在 .html 文件中使用 Razor 语法有什么作用,而不只是将扩展名更改为 .cshtml? - Allensb
1个回答

2
这不是一件容易的事情。如果你查看asp.net mvc 3源代码,你会在webpages文件夹中看到以下内容:
文件:RazorDebugHelpers.cs
// Trim the html part of cshtml or vbhtml
string outputExtension = extension.Substring(0, 3);

File: 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中非常深入。如果你想做类似的事情,你可能需要下载源代码、编辑它们并构建自定义库,但这非常耗时。也许你可以用其他方式提问,希望存在更好的解决方案来解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接