私はまだ、参照されているプロジェクトの名前空間に頭を悩ませようとしています。
名前空間 ("A") が定義されている ac# プロジェクトがあります。C# プロジェクトを参照する F# アプリケーションを作成します。
open A
次のことにつながります。
エラー FS0039: 名前空間またはモジュール 'A' が定義されていません
これは私がチェックしたものです:
- C# と F# のプロジェクトは、同じフレームワーク (.Net Framework 4.5) をターゲットにしています ( F# の名前空間またはモジュール 'XXXX' は定義されていません) 。
- C# と F# プロジェクトのターゲットは同じ (任意の CPU)
- C# プロジェクトが F# プロジェクト リファレンスに正しくリストされている
- 名前空間を正しく開こうとしています (この場合とは異なります: How to use C# object from F#? )
- 私は FSI から操作していません ( https://connect.microsoft.com/VisualStudio/feedback/details/632859/difference-in-namespace-reference-between-f-interactive-and-compiled-exe )
MSDN はあまり役に立ちません ( http://msdn.microsoft.com/en-us/library/vstudio/dd393787.aspx )。
ありがとう。
[編集]
私はゼロから始めたので、例は無駄がなくきれいです。
C# プロジェクト「ClassLibrary1」には以下が含まれます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassLibrary1
{
public class Class1
{
}
}
F# アプリケーションは次のとおりです。
// Learn more about F# at http://fsharp.net
// See the 'F# Tutorial' project for more help.
open ClassLibrary1
[<EntryPoint>]
let main argv =
printfn "%A" argv
0 // return an integer exit code
エラー:
名前空間またはモジュール 'ClassLibrary1' が定義されていません