我有一个C#项目,它通过load-string加载并调用自定义Clojure函数。这适用于Clojure 1.7(通过NuGet安装)。但是,如果我升级到最新的预发行版(1.9.0-alpha13),则在调用load-string时会抛出以下异常:
"System.ArgumentException: No matching clause: :clojure.spec/pcat at clojure/spec."
在1.9 REPL中运行完全相同的代码没有问题。
使用最新的稳定版(1.8),我得到以下内容:
"System.TypeInitializationException: The type initializer for 'clojure.clr.api.Clojure' threw an exception. ---> System.TypeInitializationException: The type initializer for 'clojure.lang.RT' threw an exception. ---> System.IO.FileNotFoundException: Could not locate clojure.core.server.cljc.dll or clojure/core/server.cljc on load path."
我对1.8问题的最佳猜测是,ILMerge似乎存在阻止所有DLL被合并的问题。
有关如何解决这些问题的任何想法?我意识到1.9仍然处于alpha状态,所以我并不太关心它,但是无法使用1.8会有点烦人。