首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Visual Studio2017的F# interactive中引用.Net Core2.1应用程序的Dll?

如何在Visual Studio2017的F# interactive中引用.Net Core2.1应用程序的Dll?
EN

Stack Overflow用户
提问于 2018-09-17 03:38:29
回答 1查看 764关注 0票数 5

我在Windows上的Visual Studio2017中创建了一个.Net核心2.1 F#控制台应用程序。我会在F#交互窗口中尝试该代码。但是,右键单击Dependencies不会显示将引用发送到F#交互窗口的命令。展开DLL树可以找到NuGet文件名,但是它们没有完整的路径,所以我不能手动运行#r ".../full path/Akka.FSharp.dll";;

  1. 在哪里可以找到DLL文件?
  2. 可以添加.Net内核引用的DLL吗?

测试.Net核心应用程序的代码。

代码语言:javascript
复制
open System
open Akka.FSharp

let system = System.create "MovieStreamingActorSystem" <| Configuration.load ()

type ProcessorMessage = ProcessJob of int * int * string

let processor (mailbox: Actor<ProcessorMessage>) =
    let rec loop () = actor {
        let! m = mailbox.Receive ()
        printfn "Message %A" m
        return! loop ()
    }
    loop ()

[<EntryPoint>]
let main argv =
    let processorRef = spawn system "processor" processor
    processorRef <! ProcessJob(1, 2, "3")
    0 
EN

回答 1

Stack Overflow用户

发布于 2018-09-18 07:23:53

您现在不能这样做,因为F#交互不支持.net核心。但是,由于API surface几乎与.net 4.7相同,您可以直接获取所需的包,只需直接引用它,即可直接获取所需的任何dll并使用#r

代码语言:javascript
复制
#if INTERACTIVE
#r "System.IO.Compression.FileSystem.dll"
#endif

例如,这将允许您通过从.net中拉入压缩dll来对zip存档使用一些扩展方法。

如果您决定创建一个独立于框架的包,.net核心dlls将被打包到publish文件夹中。无论fsharp交互需要什么完整的框架dll,只需将它们直接拉下或放到另一个项目中即可。

顺便说一下,如果您想知道.net核心nuget包是从哪里下载的,可以在C:\Users\$USERNAME\.nuget\packages中找到。您应该可以找到支持的net45和netstandard2版本。

更新:在VS2019预览中,F#交互是dotnetcore,并且可以引用dotnetcore标准dll。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52357761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档