F # 선언 된 네임 스페이스는 C# 프로젝트에서 사용할 수 없거나 개체 브라우저에서 볼 수 있습니다.F # 선언 된 네임 스페이스는 C# 프로젝트에서 사용할 수 없거나 개체 브라우저를 통해 볼 수 있습니다.
나는 일반적인 F # 라이브러리 프로젝트를 만들었지 만, 프로젝트를 빌드하고 C# 프로젝트로 참조한 후에도 원하는 네임 스페이스에 액세스 할 수 없습니다.
개체 브라우저에서도 볼 수 없으므로 빌드되지 않았다는 오류 메시지가 나타납니다. 누군가가 내 오류를 지적 할 수있는 9 월 릴리스에서 실행 중입니까?
F # 버전 1.9.6.0
(6) 편집 : DLL이 직접 내 문제를 해결했다 참조하는 프로젝트를 참조하는 것은 나를 컴파일 할 수 있지만 intellisence이 작동하지 않습니다. dll을 직접 참조하면 인텔리전스가 완벽하게 작동합니다. 4.0 문제가 될 ReSharper에서 수 :
이는 .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) 편집 파일입니까?
(4) 편집 : 개체 브라우저에서 결과 어셈블리를 읽을 수 없다고 말하면 개체 브라우저에서 어셈블리를 열려고하면 프로젝트가 아직 작성되지 않았다는 오류가 발생합니다. . 다시 나는 반사체를 사용하여 어셈블리를 읽을 수있다.
(3) 편집 : Reflector가 dll을 디스 어셈블 할 수 있지만 개체 브라우저에서 읽을 수 없습니다.
(2) 편집 : 나는 같은 결과를 여전히 1.9.6.2 내 F # 버전을 업그레이드하고있다
(1) 편집 : (모두가 될 것으로 보인다 : 내가 얻을 C 번호에 DLL을 분해 할 수 있었다) 여기에 잘
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 [email protected] : FastFunc<XElement, string>
{
// Methods
public [email protected]();
public override string Invoke(XElement [email protected]);
}
[Serializable]
internal class [email protected] : FastFunc<string, Unit>
{
// Methods
public [email protected]();
public override Unit Invoke(string u);
}
}
C# 프로젝트의 f # 프로젝트를 다시 작성 했습니까? –
모두 다시 작성되었습니다. 파일 참조가이를 수정 했습니까 (표시된 답변 이었습니까?)? 여전히 버그 일 것입니다.보고해야합니다. – MichaelGG