F # deklarierter Namespace ist im c # -Projekt nicht verfügbar oder über den Objektbrowser nicht sichtbar

8

F # deklarierter Namespace ist im c # -Projekt nicht verfügbar oder über den Objektbrowser nicht sichtbar.

Ich habe ein normales F # -Bibliotheksprojekt erstellt, aber selbst nachdem ich das Projekt erstellt und auf mein C # -Projekt verwiesen habe, kann ich nicht auf den gewünschten Namespace zugreifen.

Ich kann es auch nicht im Objekt-Browser sehen. Ich erhalte eine Fehlermeldung, dass es nicht erstellt wurde. Ich bin am September Release kann jemand auf meinen Fehler hinweisen?

F # Version 1.9.6.0

(6) Edit: Das direkte Referenzieren der DLL hat mein Problem behoben, das Referenzieren des Projekts erlaubt mir das Kompilieren, aber das Intellisence funktioniert nicht. Wenn die DLL direkt referenziert wird, funktioniert das Intellisence perfekt.

Dies ist der Code in der .fs-Datei

%Vor%

(5) Bearbeiten: Könnte ReSharper 4.0 das Problem sein?

(4) Edit: Wenn ich sage, dass der Objekt-Browser die resultierende Assembly nicht lesen kann, meine ich, dass beim Versuch, die Assembly im Objekt-Browser zu öffnen, ein Fehler angezeigt wird, dass das Projekt noch nicht erstellt wurde. wieder kann ich die Baugruppe mit Reflektor lesen.

(3) Bearbeiten: Reflektor kann die DLL zerlegen, aber der Objektbrowser kann sie nicht lesen.

(2) Edit: Ich habe meine F # -Version auf 1.9.6.2 aktualisiert und immer noch die gleiche Konsequenz

(1) Edit: Ich konnte die DLL nach C # zerlegen. Ich bekomme: (Hier scheint alles in Ordnung zu sein)

%Vor% %Vor%     
Alexandre Brisebois 19.10.2008, 22:43
quelle

4 Antworten

4

Was ist, wenn Sie die erzeugte DLL direkt referenzieren (d. h. nicht über eine Projektreferenz, sondern über eine Dateireferenz)?

    
Pavel Minaev 17.10.2008, 16:43
quelle
1

Vielleicht ist IntelliSense einfach durcheinander? Welche Compilerfehler erhalten Sie, wenn Sie versuchen, es in C # zu verwenden? Wenn Sie sagen, dass der Objektbrowser es nicht lesen kann, was bedeutet das?

Für das, was es wert ist, habe ich das zu einem F # -Bibliotheksprojekt hinzugefügt, es von einer C # -Konsolen-App aus (Projekt) referenziert und konnte es verwenden. IntelliSense hat jedoch zunächst nicht funktioniert. (Musste neu aufbauen.)

Wenn Sie eine solide Repro erstellen können, würde ich vorschlagen, es per E-Mail an F # Bugs Alias ​​(Fsbugs).

    
MichaelGG 19.10.2008 17:24
quelle
1

Ich habe das Gleiche versucht. Es sieht so aus, als ob Visual Studio und Resharper 4.0 F # aus irgendeinem Grund nicht verstehen. Wenn Sie das Meer von rotem Text und das Fehlen von Intellisense ignorieren, wird es gut kompilieren.

    
Mike Hadlow 22.12.2008 11:30
quelle
1

Versuchen Sie

  1. Stellen Sie sicher, dass das C # -Projekt auf FULL .NET (NOT-Client-Profil) ausgerichtet ist.

  2. Fügen Sie Referenzen zu Assemblys in C # -Projekt hinzu, die von F # -Projekt verwendet werden.

Dzmitry Lahoda 10.11.2010 09:22
quelle

Tags und Links