【发布时间】:2015-02-27 09:34:22
【问题描述】:
我想使用 F# 开发 windows 8.1 通用应用程序。所以我创建了 F# 可移植库。但不幸的是,我无法在其上打开 Windows.Storage 命名空间。
然后我创建了 C# Windows 应用程序类库,并在其中实现了我需要的功能:
public static async Task<string> ReadFileToString(string filename)
{
StorageFile file = await StorageFile.GetFileFromPathAsync(filename);
string fileContent = "";
fileContent = await FileIO.ReadTextAsync(file);
return fileContent;
}
然后我想在我的 F# 可移植库中添加对这个 C# 库的引用,但收到错误消息,即
"这是不可能的,因为该项目是为平台设计的 (.NETCore) 不同于当前的 (.NETPortable)"
可以用F#开发windows 8通用应用吗?
【问题讨论】:
-
如果您将 C# 项目设为可移植库,那么它应该可以工作。与F#没有任何关系。可移植库不能引用针对特定平台的库。
-
是的,但我不能在这个库中使用 Windows.Storage 命名空间(和 StorageFile)。所以我希望在用 F# 编写的通用应用程序中读取文件的可能性
-
检查您用于创建 F# 库的配置文件。有不同类型的可移植库。
-
如果我理解正确的话,我只有一个选项'.Net Portable Subset (Net Framework 4.5, Windows 8)'。但看起来这是可能的。例如,我发现了这段代码 (stackoverflow.com/questions/23312965/…),其中 Andy B 在 F# 中使用 StorageFile
-
我检查了两个配置文件(7 和 47)。他们都无法打开 Windows.StorageFile
标签: f# windows-8.1