Import/open F# 中的 DLL

Import/open DLLs in F#

我想知道是否有可能 import/open F# 中的 DLL(二进制,而不是脚本)。

open SDL2

顺便说一下,这是我关于 Whosebug 的第一个问题,请不要犹豫,问我更多细节。

open ... 打开一个 namespace/module。它不引用程序集。

假设您打算使用 C#/.NET 版本的 SDL2,您将需要引用该程序集。如果它作为 nuget 包可用,那么您可以将其添加为 visual studio(依赖项上下文菜单中的 manage nuget packages)中的依赖项或使用以下命令行 dotnet add package <packagename>。如果它不是 nuget 包,那么您仍然可以直接引用程序集。在 visual studio 中,您应该能够 select add project reference 在依赖项上下文菜单中,然后您可以 select 浏览到 select 您要使用的 dll。

您也可以将 DLL 文件直接添加到您的项目文件中。首先将 DSL2.dll 复制到一个已知位置,例如项目文件夹中的 lib 文件夹(如果需要,请添加依赖项),然后编辑项目文件以包含以下内容:

<ItemGroup>
  <Reference Include="SDL2">  <!--the name here can be anything-->
    <HintPath>lib\SDL2.dll</HintPath>
  </Reference>
</ItemGroup>

之后您应该可以打开命名空间(open SDL2)或直接调用各种functions/types通过使用其完全限定名称(例如let x = SDL2.SDL.SDL_...)