我们有一个用C#编写的库,我试图在F#脚本中调用它。但是,此库使用来自DevArt的dotConnect for MySQL,它要求使用它的程序在嵌入到程序集中的licenses.licx文件中有一个特定的行。
任何人都知道如何让FSI知道这个许可证?
答案 0 :(得分:3)
.licx
文件是否必须嵌入到调用库的程序(.exe
)中,或者是否可以嵌入调用dotConnect的另一个库中,并由fsi.exe
调用?
在第二种情况下,您可以创建一个简单的包装器来调用所需的dotConnect功能,并从fsi.exe
调用包装器。
在第一种情况下,您可以重新编译fsi.exe
(由John建议)。
更简单的方法可能是创建一个单独的应用程序(包含licx
文件),使用Reflection加载fsi.exe
程序集,然后使用Reflection启动fsi.exe
交互循环>
(我想你可以在MainMain
中调用Shell
类的静态方法Microsoft.FSharp.Compiler.Interactive
。
答案 1 :(得分:2)
F#是开源的 - 这里有一个版本https://github.com/fsharp/fsharp/。你能用你的许可证文件构建自己的FSI版本吗?