我认为这是一个直截了当的问题,我认为很有可能答案是肯定的(虽然混合语言项目通常是不可能的,但在我看来View Engine得到特殊处理).我知道我也可以很容易地尝试这一点,但为了记录,并节省一些时间,我想知道这种组合是否可行(我自己还没有使用过ASP.NET MVC或Razor,我正在考虑在工作中开展新项目的选项.
编辑:我特别感兴趣的是这个组合是否可以在一个项目中完成.或者更具体地说,使用这种组合是否有任何特征损失(即使两个项目设置是要走的路).
解决方法
你绝对可以将C#Razor代码与F#控制器混合使用.可以在单个项目中执行此操作(通过修改Web项目以使用F#).一个更简单的选择是创建一个标准的C#Razor Web项目和一个单独的F#项目(包含模型和控制器代码).
我创建了一个Visual Studio template,可以让你做到这一点.
遗憾的是,该模板尚未在Visual Studio库中提供(因此您无法从“新建项目”对话框中的“在线模板”选项卡中看到它).他们的上传机制存在一些问题,我正在尝试解决这个问题,所以很快就会出现在那里. Daniel Mohl在Visual Studio gallery上也有几个ASP.NET MVC模板,但我不确定它们是否使用了Razor.