当前位置: 首页 > 知识库问答 >
问题:

VS2010 F#编译器的正确web.config设置是什么?

邓阳炎
2023-03-14

我有一个ASPX页面,如下所示:

<%@ Page Language="F#" %>
<!DOCTYPE html>
<html>
<head>   
   <title></title>
</head>
<body>
   <%-- Try to output "This is a Test" 10 times --%>
   <% for i = 1 To 10 do  %>
      <p>This is a test</p>   
</body>
</html>

以及如下所示的web.config:

<?xml version="1.0"?>
<configuration>
   <system.codedom>
      <compilers>
         <compiler language="F#;f#;fs;fsharp"
            extension=".fs"
            warningLevel="4"
            type="Microsoft.FSharp.Compiler.CodeDom.FSharpAspNetCodeProvider,
            FSharp.Compiler.CodeDom, Version=2.0.0.0,
            Culture=neutral,
            PublicKeyToken=a19089b1c74d0809">
            <providerOption name="CompilerVersion" value="v4.0" />
            <providerOption name="WarnAsError" value="false" />
         </compiler>
      </compilers>
   </system.codedom> 
   <system.web>
      <compilation debug="true" targetFramework="4.0" />
   </system.web>
</configuration>   

当我运行我的VS2010 WebApp时,我会得到如下错误:
“CodeDom提供程序类型”microsoft.fsharp.compiler.CodeDom.fsharpaspnetCodeProvider,
fsharp.compiler.CodeDom,version=2.0.0.0,
Culture=neutrine,
PublicKeyToken=A19089B1C74D0809“无法找到。”

有人能帮助我了解在VS2010web.config中应该为“编译器”和“ProviderOption”元素使用的正确版本设置吗?

共有1个答案

公羊浩阔
2023-03-14

我没有尝试过这样做,但我认为您的配置文件是正确的--您能检查一下在GAC中安装了哪些fsharp.compiler.codedom程序集(通过查看C:\windows\assembly)吗?

但是,目前我并不推荐使用F#来编写网页的ASPX部分。它可以工作,但是当将C#与ASPX混合或使用Razor模板引擎(用于ASP.NET MVC)时,您将无法获得流畅的体验。

我认为用F#创建服务器端ASP.NET web应用程序的最佳方法是将F#用于后面的代码(在传统的WebForms中)或用于模型和控制器部分(在MVC中)。还有许多模板和教程描述了如何做到这一点:

    null
 类似资料:
  • 问题内容: 我在Django 1.6上无法正常使用翻译存在问题。我已将此添加到我的settings.py中: 还添加了中间件: 以及每当我使用应为l10nd的字符串时的* .py文件: 我的模板开始于: 在模板内部,我使用了trans占位符。例如 我在locale / de / LC_MESSAGES / django.po中提供了翻译: 问题答案: 添加到并将其设置如下: 请注意,它必须是一个元

  • 主要内容:什么是编译器,什么是集成开发环境,选择哪种集成开发环境我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为 可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有 .exe 和 .com(其中 .exe 比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序。 可执行程序的内部是一系列计算机指令和数据的集合,它们

  • 因此,当我编写java文件时: 然后在windows cmd中,我以以下方式编译: 很好,结果是: “严肃的业务逻辑。” 在Netbeans中创建项目时,会添加以下行: 我不能在cmd中编译,只能在IDE中编译。我尝试过manifest.txt,UTF8编码没有BOM,加上文件的换行符。 显示txt: “jar cvfm Program.jar Manifest.txt Program.class

  • 本文向大家介绍什么是ElasticSearch中的编译器?相关面试题,主要包含被问及什么是ElasticSearch中的编译器?时的应答技巧和注意事项,需要的朋友参考一下 编译器用于将字符串分解为术语或标记流。一个简单的编译器可能会将字符串拆分为任何遇到空格或标点的地方。Elasticsearch有许多内置标记器,可用于构建自定义分析器。

  • 问题内容: 现在,我正在用自己的语言编写一个小的Java应用程序,其中只有几个maven pom.xml文件。我想使我所有的maven软件包都可以使用jdk 1.6进行编译,而如果没有在每个POM上手动设置它的话,我将找不到一个很好的方法-我讨厌复制粘贴 在我生成的每个pom.xml文件中。 有没有更简单的方法来解决此问题? 问题答案: 创建一个具有所需的编译器设置(以及任何其他默认设置)的仅po

  • 几天前,我在java代码中输入了一个错误,但它编译后运行良好。(尽管结果很奇怪。) 我的代码是: 我无法找到为什么第二个作业没有错误,并且打印了124。(当然,“|”在ASCII码中是124。但为什么是“124”,而不是“|”?) 这是编译器错误吗?还是我还不知道的正确java语法?