F# 控制台应用不起作用.C# 控制台应用可以

本文关键字:应用 控制台 不起作用 | 更新日期: 2023-09-27 18:33:07

我正在尝试将一个简单的 f# 控制台应用程序部署到同事的计算机,但它一直失败。双击应用程序图标后,将显示控制台窗口,但随后出现Microsoft错误报告窗口,询问我是否要发送错误报告,我拒绝了,然后控制台窗口中闪烁了一些文本。它看起来像一条错误消息,但窗口关闭得太快而无法分辨。奇怪的是,如果我创建一个类似的 C# 应用程序,它可以工作。我的目标是发布模式下的 .net 4 客户端框架。

这是代码

F# 代码(不起作用):

open System
printfn "print test"
Console.ReadLine() |> ignore

C# 代码(有效):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestCApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Testing...");
            Console.ReadLine();
        }
    }
}

F# 控制台应用不起作用.C# 控制台应用可以

C# 代码

段的 F# 模拟不是 F# 代码,而是以下内容:

System.Console.WriteLine "print test"
System.Console.ReadLine() |> ignore

虽然上面的 2 行应用将运行,类似于 C# 代码段中的一个,只是在原始 .NET 上运行,但在 F# 代码中使用printfn函数需要在目标计算机上部署某些特定于 F# 的核心组件,但事实可能并非如此。后者解释了观察到的行为。

查看 F# 项目的引用,您将看到一个指向 FSharp.Core 的引用,它通常位于此处:

C:''Program Files (x86)''Reference Assemblies''Microsoft''FSharp''2.0''Runtime''v4.0''FSharp.Core.dll

在视窗 7(64 位)PC 上

另请查看 F# 站点以获取运行时下载。

http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx

编辑:这是运行时下载的直接链接(感谢ildjarn):

http://www.microsoft.com/en-us/download/details.aspx?id=13450