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

从同一解决方案中打开c#命名空间,在f中引用项目#,c#,f#,namespaces,C#,F#,Namespaces,我仍在努力了解被引用项目中的名称空间 我有一个c#项目,其中定义了名称空间(“a”)。 我创建了一个F#应用程序,在这里我引用了c#项目 结果如下: 错误FS0039:未定义命名空间或模块“A” 这是我检查过的: C#和F#项目的目标是相同的框架(.NETFramework4.5)() C#和F#项目具有相同的目标(任何CPU) C#项目正确地列在F#项目参考中 我正确地尝试打开名称空间(与本例不同:) 我不是在FSI()上操作 MSDN帮不了多少忙() 谢谢 [编辑] 我是从零开始的,所以

我仍在努力了解被引用项目中的名称空间

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

结果如下:

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

这是我检查过的:

  • C#和F#项目的目标是相同的框架(.NETFramework4.5)()
  • C#和F#项目具有相同的目标(任何CPU)
  • C#项目正确地列在F#项目参考中
  • 我正确地尝试打开名称空间(与本例不同:)
  • 我不是在FSI()上操作
MSDN帮不了多少忙()

谢谢

[编辑]

我是从零开始的,所以这个例子很简洁

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
//了解更多关于F#at的信息http://fsharp.net
//有关更多帮助,请参阅“F#Tutorial”项目。
开放类图书馆1
[]
让主argv=
printfn“%A”argv
0//返回整数退出代码
错误:

未定义命名空间或模块“ClassLibrary1”


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


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

我也遇到过同样的问题。我所要做的就是确保我的C#项目依赖关系都得到解决,构建我的C#项目,然后F#项目能够引用正确的dll

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

在该名称空间中是否确实有公共类型?是的,名称空间包含公共类。您能否生成一个简短但完整的示例,其中包括C#和F#?a=ClassLibrary1。如前所述,我从零开始提供一个简短但完整的示例。我想确保这个问题与我的C#代码可能存在的任何其他问题无关。谢谢。这里有一条评论引导我走上了正确的道路:答案是分步构建,从C#library开始。不知道为什么评论被删除了,但是嘿,非常感谢!
// 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