2011-04-30 128 views
8

我试着写一个简单的F#ASP.Net MVC应用程序F#Global.asax - 语言不支持?

伊夫添加在Global.asax如下

<%@ Application Inherits="WebApplication.Core.Global" Language="F#" %> 

然后在一个单独的程序集引用我有

namespace WebApplication.Core with a type Global() = etc 

获得一个'F#'不是支持的语言。

我无法做到这一点吗?

感谢

回答

7

你需要在web.config中添加类似如下:

<compiler language="F#;f#;fs;fsharp" 
      extension=".fs" 
      warningLevel="4" 
      type="Microsoft.FSharp.Compiler.CodeDom.FSharpAspNetCodeProvider, 
      FSharp.Compiler.CodeDom, Version=1.9.6.2, 
      Culture=neutral, 
      PublicKeyToken=a19089b1c74d0809"> 
    <providerOption name="CompilerVersion" value="v3.5" /> 
    <providerOption name="WarnAsError" value="false" /> 
</compiler> 

来源和更多的细节:http://codebetter.com/matthewpodwysocki/2008/10/07/asp-net-mvc-with-nhaml-f-edition/

+4

您可以通过将类实现避免这样做你的global.asax(一个System.Web.HttpApplication)在F#程序集中,并在global.asax的“Inherits”属性中引用这个类型。这就是F#MVVM模板的工作原理(可在Visual Studio在线模板中使用)。 – Robert 2011-05-01 06:36:10

+0

@Robert:你可以发表你的评论作为一个新的答案(我会upvote它)? – knocte 2015-01-23 11:29:03