繁体   English   中英

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

[英]open c# namespace from same solution, referenced project in f#

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

我有一个 ac# 项目,其中定义了一个命名空间(“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”

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM