3

単純なf#コンソールアプリを同僚のコンピューターに展開しようとしていますが、失敗し続けます。アプリアイコンをダブルクリックすると、コンソールウィンドウが表示されますが、Microsoftエラーレポートウィンドウが表示され、エラーレポートを送信するかどうかを尋ねられます。拒否すると、コンソールウィンドウにテキストが点滅します。エラーメッセージのように見えますが、ウィンドウが閉じるのが速すぎてわかりません。奇妙なことに、同様のC#アプリを作成すると、機能します。リリースモードで.net4クライアントフレームワークをターゲットにしています。

これがコードです

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();
        }
    }
}
4

2 に答える 2

8

C#スニペットのF#アナログは、F#コードではなく、次のようになります。

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

上記の2ライナーから離れたアプリは、C#スニペットからのアプリと同様に、生の.NETでprintfn実行されますが、F#コードで関数を使用するには、特定のF#固有のコアコンポーネントをターゲットコンピューターにデプロイする必要がありますが、そうではない可能性がありますケース。後者は、観察された動作を説明します。

于 2012-05-04T15:54:45.553 に答える
5

F#プロジェクトの参照を見ると、通常はここにあるFSharp.Coreへの参照が表示されます。

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

Windows 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

于 2012-05-04T16:10:18.963 に答える