从同一个解决方案打开c#命名空间,在f#中引用项目

时间:2013-10-30 12:10:30

标签: c# f# namespaces

我仍然试图了解引用项目中的命名空间。

我有一个c#项目,其中定义了命名空间(“A”)。 我创建了一个F#应用程序,在那里我引用了c#项目。

open A

导致以下内容:

  

错误FS0039:未定义名称空间或模块“A”

这是我检查的内容:

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”

2 个答案:

答案 0 :(得分:0)

确保您的引用是真正的项目引用,而不仅仅是引用bin \ Debug文件夹中的DLL。

如果无法获得真正的项目引用,请确保将F#项目设置为依赖于C#项目,以便首先由Visual Studio构建(右键单击项目并转到项目依赖项)然后使用复选框)。

答案 1 :(得分:0)

我有同样的问题。我要做的就是确保所有C#项目依赖项都已解决,建立我的C#项目,然后F#项目能够引用正确的dll。

在Visual Studio中,您可以右键单击每个C#项目,然后按build。 在VSCode中,您必须使用终端导航到每个项目并运行dotnet build