Ich versuche, eine tragbare Bibliothek mit F # zu erstellen, um mit Windows Store-Apps zu verwenden. Ich erstellte eine fs-Datei mit einer Klasse:Windows Store Apps und F #
module FunctionalRT
open System.Net
open System.IO
type WebHelper =
static member DownloadStringAsync (url:string) = async {
let req = HttpWebRequest.Create(url)
use! resp = req.AsyncGetResponse()
use stream = resp.GetResponseStream()
let reader = new StreamReader(stream)
let s = reader.ReadToEnd()
return s
}
Ich referenzierte diese Bibliothek in meiner Windows Store App ohne Probleme. Aber das Problem ist, ich kann weder das FunctionalRT
Modul noch die WebHelper
Klasse zugreifen. Wenn ich using FunctionalRT
schreibe oder versuche, FunctionalRT.WebHelper.FunctionalRT
zu verwenden, beschwert sich der Compiler, es weiß es nicht. Was könnte das Problem sein?
EDIT: Nach einigen buidls und reinigt ich
The type 'Microsoft.FSharp.Control.FSharpAsync`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'FSharp.Core, Version=2.3.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. C:\Users\Igor\Documents\Visual Studio 2012\Projects\App3\App3\GroupedItemsPage.xaml.cs 46 13 App3
EDIT erhalten:
einen Verweis auf C:\Program Files (x86)\MSBuild\..\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\.NETPortable\FSharp.Core.dll
die obige Fehlermeldung gelöst Hinzufügen, aber es ist eine andere
Cannot await 'Microsoft.FSharp.Control.FSharpAsync<string>'
Haben Sie sichergestellt, dass alle Referenzen (sowohl von .Net als auch von Drittanbietern) WinRT-kompatibel sind? –
Es gibt nur 2 Projekte: Windows 8 App (App3) und F # Portable Library (FunctionalRT mit Zielframework: .NET für Windows Store Apps, .NET Framework 4.5, Silverlight 5) und App3 hat einen Verweis auf FunctionalRT –
Ich glaube, der Fehler Die Nachricht besagt, dass das C# -Projekt auch auf FSharp.Core (WinRT-Version, natürlich) verweisen sollte. Ich gehe davon aus, dass nur das F # -Projekt FSharp.Core referenziert? Wenn ich richtig bin, würde dieser Fehler auch beim Schreiben einer regulären C# -F # -Anwendung erscheinen. –