我想让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任务识别我的自定义类?
答案 0 :(得分:0)
这是RazorGenerator.MsBuild生成代码的方式的问题。编译时,将继承的类写为:
Stack
生成器需要通用基本视图。最简单的解决方案是改变MyWebViewPage以支持泛型:
MyView : MyWebViewPage<dynamic>