Unable to call "load-string" from C# project with Clojure >= 1.8

149 Views Asked by At

I have a C# project that loads and calls a custom Clojure function via load-string. This works fine with Clojure 1.7 (installed via NuGet). However, when if I upgrade to the latest pre-release (1.9.0-alpha13), the following exception is thrown upon the invocation of load-string:

"System.ArgumentException: No matching clause: :clojure.spec/pcat at clojure/spec."

There are no issues running the same exact code in a 1.9 REPL.

Using the latest stable (1.8), I instead get the following:

"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."

My best guess with the issue with 1.8 is that there seems to be an issue with ILMerge that's preventing all the DLLs from being merged.

Any thoughts on how to fix these issues? I realize that 1.9 is still in alpha, so I'm not too concerned about that, but it's a bit annoying to be unable to use 1.8.

0

There are 0 best solutions below