RazorGenerator.MsBuild不使用自定义WebViewPage

时间:2016-12-19 13:26:49

标签: asp.net-mvc razor razorgenerator

我想让RazorGenerator.MsBuild在build上编译我们的CSHTML文件。我遇到的问题是从自定义WebViewPage继承的CSHTML页面会抛出编译错误。如果将这些CSHTML文件复制到网站,则它们在运行时工作,只有构建失败。

例如,我们可能有以下CSHTML文件:

public class MyWebViewPage : System.Web.Mvc.WebViewPage
{
    public bool DoSomething()
    {
        return true;
    }
}

以下CSHTML:

@inherits MyWebViewPage 

@if(DoSomething()){

}

这将导致以下错误:

The name 'DoSomething' does not exist in the current context.

如何让MSBuild任务识别我的自定义类?

1 个答案:

答案 0 :(得分:0)

这是RazorGenerator.MsBuild生成代码的方式的问题。编译时,将继承的类写为:

Stack

生成器需要通用基本视图。最简单的解决方案是改变MyWebViewPage以支持泛型:

MyView : MyWebViewPage<dynamic>