欢迎!请参阅关于页面了解有关本网站如何运作的一些更多信息。
当使用clojure-clr在.NET 7中加载库(core.async和clojure.tools.nrepl)时,我遇到了一些问题。
随着NREPL的最近加入,我热心于探索其功能。然而,当尝试引入命名空间时,我遇到了错误
"在加载路径上找不到clojure/tools/nrepl的扩展名为 .cljr, .cljc, .cljr, .cljr.dll, .cljc.dll, 或 .clj.dll 的库。"
值得注意的是clojure-clr nrepl库与core.async之间的区别,特别是在与clojure.test.generative等库进行比较时。例如,后者被编译到.NET标准2.1并与功能正常。
为了帮助解决这个问题,我创建了一个可复现nrepl错误的仓库。您可以通过以下链接找到它: https://github.com/Dangercoder/clojure-clr-bug-report-1
我正在使用dotnet工具来管理依赖项。
此外,我相信解决核心异步的问题至关重要,因为这将实现与https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task?view=net-7.0的互操作性。该功能在整个.NET环境中都普遍存在。
非常感谢您的协助和意见!
感谢非常清晰的示例。很容易找到问题所在。当我添加对 .cljr 文件的支持时,遗漏了一个位置——这就是失败的地方。(加载的程序的嵌入式资源。)
https://clojure.atlassian.net/jira/software/c/projects/CLJCLR/issues/CLJCLR-155
我将很快将修复程序集成到下一个alpha版本中。