Portable Bibliotheken mit Typanbietern

8

Soweit ich weiß, wird der Provider vom Typ F # immer eine nicht-portable Klassenbibliothek sein (zB wird Reflection.Emit verwendet, das in WinRT nicht verfügbar ist). Um es in meiner F # -Klassenbibliothek zu verwenden, muss ich einen Verweis auf die Type-Provider-DLL hinzufügen, damit die Bibliothek nicht kompilierbar sein muss.

In diesem Fall bin ich glücklich, in eine tragbare Versammlung zu trennen und eine, die den Typ-Versorger benutzt. Die einzige Möglichkeit, dies zu kompilieren, ist das Hinzufügen eines Verweises auf Fsharp.Core zu meinem C # -Anwendungsprojekt (.NET 4.5) - aber zur Laufzeit gibt es immer noch einen Konflikt zwischen den Versionen von FSharp.Core.

%Vor%

Kann ich den Konflikt lösen, verwende ich Typanbieter falsch oder ist es etwas, das noch nicht gemacht werden kann?

    
Nicholas W 09.04.2012, 20:40
quelle

1 Antwort

8

Sie benötigen eine verbindliche Umleitung in Ihrer app.config-Datei. Wenn Sie ein neues F # -Projekt mit dem Ziel 4.5 erstellen, wird

verwendet %Vor%

in der app.config. Sie müssen das in der app.config des letzten ausführenden Exe-Projekts (z. B. der C # one) hinzufügen, so dass z. Wenn Sie es auf dem Desktop ausführen, löst es das portable FSharp.Core (2.3.5.0) auf den Desktop (4.3.0.0).

    
Brian 09.04.2012, 22:43
quelle