我仍然试图了解引用项目中的命名空间。
我有一个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”
答案 0 :(得分:0)
确保您的引用是真正的项目引用,而不仅仅是引用bin \ Debug文件夹中的DLL。
如果无法获得真正的项目引用,请确保将F#项目设置为依赖于C#项目,以便首先由Visual Studio构建(右键单击项目并转到项目依赖项)然后使用复选框)。
答案 1 :(得分:0)
我有同样的问题。我要做的就是确保所有C#项目依赖项都已解决,建立我的C#项目,然后F#项目能够引用正确的dll。
在Visual Studio中,您可以右键单击每个C#项目,然后按build。
在VSCode中,您必须使用终端导航到每个项目并运行dotnet build
。