gpt4 book ai didi

F# 交互,API 对 dll 引用的限制

转载 作者:行者123 更新时间:2023-12-04 14:32:52 25 4
gpt4 key购买 nike

你如何解决看起来像这样的错误消息?

`Binding session to 'C:\Program Files (x86)\NLog\.NET Framework 4.0\NLog.dll'...

error FS0193: API restriction: The assembly
'file:///C:\Program Files (x86)\NLog\.NET Framework 4.0\NLog.dll' has
already loaded from a different location. It cannot be loaded from a
new location within the same appdomain.

触发它的代码可能如下所示:
#r @"..\packages\NLog.2.0.0.2000\lib\net20\NLog.dll"
NLog.Config.SimpleConfigurator.ConfigureForConsoleLogging()

最佳答案

似乎 FSI 不会从给定的 DLL 加载而不是按名称加载,所以这可以解决问题:

#I @"..\packages\NLog.2.0.0.2000\lib\net20"
#r @"NLog.dll"
NLog.Config.SimpleConfigurator.ConfigureForConsoleLogging()
#I意味着将该文件夹添加到加载路径
#r表示通过dll-path引用;专注于名称。这意味着 FSI 将首先使用文件名,在系统范围的搜索路径中查找,然后才尝试使用 #r 之后的字符串。作为目录相关的提示。

因此,通过这种方式,您可以从指定的目录而不是系统范围的目录加载 NLog。

关于F# 交互,API 对 dll 引用的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com