Проблема ссылки на F # dll в проекте C # - PullRequest
1 голос
/ 09 февраля 2010

Простите, если ответ кажется очевидным.

Я создал решение Visual Studio и добавил к нему два проекта, один - библиотеку F # (называемую MathLibrary), а второй - интерфейс C # (называемый frontend, я знаю о своем творчестве). *

Поэтому я добавляю ссылку на MathLibrary DLL в моем проекте внешнего интерфейса, скомпилировал MathLibrary DLL (чтобы убедиться) и попытался использовать ее в моем frontend проекте. В этот момент мой компилятор пожаловался, что это неопределенная ссылка. Насколько я понимаю, добавление соответствующей ссылки позволит мне получить доступ к моей DLL, но, очевидно, я упускаю важный шаг.

Любая помощь?

Ответы [ 3 ]

1 голос
/ 11 февраля 2010

Нет никакой разницы между именем файла .fs и содержащимися в нем пространствами имен / модулями ... за исключением случая, когда вы полностью опускаете любое пространство имен или объявления модулей; в этом случае компиляция предполагает наличие модуля с тем же именем, что и файл. Хотя я рад, что вы смогли скомпилировать, я не думаю, что вы нашли реальную проблему / решение.

0 голосов
/ 09 февраля 2010

Библиотека F # была построена успешно? Можете ли вы увидеть файл DLL и содержит ли он какие-либо классы и пространства имен, если вы открываете его с помощью Reflector?

В любом случае вам также необходимо добавить ссылку на FSharp.Core.dll (которая является библиотекой, содержащей основные типы F #, такие как списки и т. Д., И на которую ссылается любая dll, которую создает компилятор F #). Тем не менее, я полагаю, что сообщение об ошибке, которое вы получите, если вам просто нужно добавить эту ссылку, будет другим.

0 голосов
/ 09 февраля 2010

Может ли оно отображаться как Module1.SomeClass. Файл по умолчанию в проекте библиотеки F # называется Module1, и если вы не запускаете файл исходного кода с объявлением namespace или module, вы генерируете код в модуле с тем же именем, что и имя файла .

Вы можете попробовать добавить namespace FsLib в начало кода библиотеки F #, который определяет некоторый класс, а затем посмотреть, работает ли FsLib.SomeClass в C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...