2012-02-07 1 views
1

У нас есть библиотека, написанная на C#, которую я пытаюсь вызвать в скрипте F #. Тем не менее, эта библиотека использует dotConnect для MySQL от DevArt, которая требует, чтобы программа, использующая ее, имела определенную строку в файле license.licx, встроенном в сборку.Использование файла license.licx с помощью скрипта F #?

У кого-нибудь есть идея, как я могу получить FSI, чтобы узнать об этой лицензии?

+0

Это только предположение, - но вы могли бы добавить некоторый код в начале сценария, чтобы загрузить лицензию на FSI через [System.ComponentModel.LicenseManager] (http://msdn.microsoft .com/en-us/library/system.componentmodel.licensemanager.aspx «System.ComponentModel.LicenseManager»). –

ответ

2

F # - с открытым исходным кодом - есть версия здесь https://github.com/fsharp/fsharp/. Не могли бы вы просто создать свою собственную версию FSI с вашим файлом лицензии?

+0

Спасибо, я могу попробовать это и посмотреть, как это происходит. Ссылка, которую вы отправили, говорит, что это для Моно, неважно? Я нахожусь в Windows – Bob

+0

Эта ссылка должна хорошо накладываться на .Net, также есть код, снижающийся на http://fsharppowerpack.codeplex.com/, который включает компилятор и fsi –

3

ли файл .licx должен быть встроен в программе (.exe), который вызывает библиотеку, или оно может быть вложено в другой библиотеке, которая вызывает dotConnect и вызывается fsi.exe?

  • Во втором случае, вы можете просто создать простую оболочку, которая вызывает функциональные dotConnect Вам необходимо позвонить и обертку из fsi.exe.

  • В первом случае вы можете либо перекомпилировать fsi.exe (как предложил Джон).

    Простейшее подход может создать отдельное приложение (содержащее файл licx), который загружает fsi.exe сборки с помощью отражения, а затем использовать Reflection, чтобы запустить цикл fsi.exe взаимодействия
    (я думаю, вы могли бы просто вызвать статический метод MainMain из Shell класс в Microsoft.FSharp.Compiler.Interactive).

+0

В библиотеке, которую я вызываю, уже есть встроенная лицензия, так что это первый случай. Я попробую ваши предложения и посмотрю, как это происходит. спасибо – Bob

 Смежные вопросы

  • Нет связанных вопросов^_^