Пространство имен, объявленное F #, недоступно в проекте c # или не отображается в браузере объектов.
Я создал обычный проект библиотеки F #, но даже после того, как я собрал проект и связал его с моим проектом C #, я не могу получить доступ к нужному пространству имен.
Я также не могу увидеть его в браузере объектов, я получаю сообщение об ошибке, сообщающее, что оно не было построено. Я работаю над сентябрьским релизом, может кто-нибудь указать на мою ошибку?
F # Версия 1.9.6.0
(6) Редактировать: Ссылка на dll напрямую исправила мою проблему, ссылка на проект позволяет мне компилировать, но intellisence не работает. Когда на dll есть прямая ссылка, intellisence работает отлично.
Этот код находится в файле .fs
#light
namespace Soilsiu.Core
module public Process =
open System.Xml.Linq
let private xname (tag:string) = XName.Get(tag)
let private tagUrl (tag:XElement) = let attribute = tag.Attribute(xname "href")
attribute.Value
let Bookmarks(xmlFile:string) =
let xml = XDocument.Load(xmlFile)
xml.Elements <| xname "A" |> Seq.map(tagUrl)
let PrintBookmarks (xmlFile:string) =
let list = Bookmarks(xmlFile)
list |> Seq.iter(fun u -> printfn "%s" u)
(5) Редактировать: Может ли быть проблема с ReSharper 4.0?
(4) Редактировать: Когда я говорю, что браузер объектов не может прочитать полученную сборку, я имею в виду, что когда я пытаюсь открыть сборку в браузере объектов, я получаю сообщение об ошибке, сообщающее, что проект еще не был построен. еще раз я могу прочитать сборку, используя отражатель.
(3) Редактировать: Отражатель может дизассемблировать, но обозреватель объектов не может его прочитать.
(2) Редактировать: Я обновил свою версию F # до 1.9.6.2 и все тот же результат
(1) Редактировать: я смог разобрать dll на C #, я получаю: (Здесь все вроде бы нормально)
namespace Soilsiu.Core
{
[CompilationMapping(7)]
public static class Crawler
[CompilationMapping(7)]
public static class Process
}
[CompilationMapping(7)]
public static class Process
{
// Methods
static Process();
public static IEnumerable<string> Bookmarks(string xmlFile);
public static void PrintBookmarks(string xmlFile);
internal static string tagUrl(XElement tag);
internal static XName xname(string tag);
// Nested Types
[Serializable]
internal class clo@13 : FastFunc<XElement, string>
{
// Methods
public clo@13();
public override string Invoke(XElement tag@9);
}
[Serializable]
internal class clo@17 : FastFunc<string, Unit>
{
// Methods
public clo@17();
public override Unit Invoke(string u);
}
}