F#선언 네임스페이스에서 사용할 수 없습 c#프로젝트 또는 눈에 보이는 객체를 통해 브라우저
문제
F#선언 네임스페이스에서 사용할 수 없습 c#프로젝트 또는 눈에 보이는 객체를 통해 브라우저입니다.
내가 내장되어 있는 정상 F#라이브러리 프로젝트이지만,후에도 나를 구축 프로젝트를 참조하여 내 C#프로젝트에 액세스할 수 없습니다.원하는 네임스페이스가 있습니다.
나 또한 그것을 볼 수 없습 개체 브라우저에서 나는 오류를 말하고 나가지 않습니다.나는에서 실행 되는 월 출시할 수 있는 사람을 지적한 나 오류가?
F#버전 1.9.6.0
(6)편집:을 참조하 dll 직접는 내 문제를 해결을 참조,프로젝트할 수 있게 컴파일하지만 intellisence 작동하지 않습니다.때때 직접 참조 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)편집:수있---끝---이력서 내 4.0 문제가 있는 것입니까?
(4)편집:내가 말할 때는 객체 브라우저를 읽지 못하는 결과 어셈블리,내 말을 열려고 할 때 어셈블리 개체 브라우저에서 나는 오류를 얻을 말해 프로젝트를 아직 구축되지 않았습니다.아직 내가 다시 읽을 수 있는 어셈블리를 사용하는 반사체.
(3)편집:반사할 수 있는 분해 dll 하지만 브라우저를 읽을 수 없습니다.
(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);
}
}
해결책
생성 된 DLL을 직접 참조하면 (예 : 프로젝트 참조가 아니라 파일 참조를 통해)?
다른 팁
어쩌면 IntelliSense 은 엉망?무엇을 컴파일러에 오류가 당신을 얻을 하려고 하면 그것을 사용하는 C#?을 때 당신이 말하는"개체 브라우저를 읽을 수 없다"무슨 뜻입니까?
For what it's worth,이것을 추가하 F#라이브러리 프로젝트를 참조하는 그것의 프로젝트(project)에서는 C#콘솔 응용 프로그램,그리고 사용할 수 있었습니다.IntelliSense 에서 작동하지 않았다 먼저 하지만입니다.(을 다시 작성합니다.)
만약 당신이 할 수 있는 단단한 생식,나는 그것을 이메일 F#버그 별칭(fsbugs).
나는 같은 것을 시도했다. 마치 Visual Studio와 Resharper 4.0이 어떤 이유로 F#를 이해하지 못하는 것처럼 보입니다. 붉은 텍스트의 바다와 지능이 부족한 것을 무시하면 정상적으로 컴파일 할 것입니다.
노력하다
C# 프로젝트가 전체 .NET (클라이언트 프로파일이 아님)가 타겟팅되어 있는지 확인하십시오.
F# Project에서 사용하는 C# 프로젝트에 어셈블리에 대한 참조를 추가하십시오.