VS 2013 中缺少目标

Missing targets in VS 2013

我正在编译 google 应用 API,但我还没有看到我遗漏的地方。

.net 和 windows 8/8.1 都列出了,但没有别的。我在 运行 VS 2013 Windows 7 电脑上。

因此,当我进入对该项目的引用时,我丢失了所有原始的 Microsoft 引用(即使我去添加它们,select 也没有任何内容)。

例如,我得到的错误是:警告 2 主要参考 "System.IO",它是一个框架程序集,无法在当前目标框架中解析。 “.NETPortable,版本=v4.0,配置文件=配置文件5”。要解决此问题,请删除引用 "System.IO" 或将您的应用程序重新定位到包含 "System.IO" 的框架版本。 Google.Apis.Admin.Directory.directory_v1

我不确定为什么当我去 select 时那个和所有其他微软 API 没有出现(或者不允许我编译)。我认为这是因为 .netportable 以及我不在 Windows 8.x 计算机上的事实。

有人知道怎么改目标吗?无论如何我都看不到这样做。

你有一个 Portable Class Library。它缺少许多 Windows 原生的命名空间和函数;基本上,PCL 被简化为可以在所有目标平台上 运行 的 .NET 的最小功能集。
对于许多缺失的命名空间,有替换 PCLs;如果 none 可用,您可以在 PCL 中定义接口(并在特定于平台的代码中实现它们)作为 PCL 和例如 PCL 之间的 "bridge" Win32 上的 System.IO 命名空间。

简单的例子:你在PCL中用WriteFile(...)ReadFile(...)定义了IFileIO;那么每个使用 PCL 的项目(例如:WindowsIO Windows)都有一个 class 实现 IFileIO 并在其中执行 System.IO 调用各自的功能。
然后将 Windows 特定的实现与 PCL 接口结合起来;假设您有一个 ImageConverter class 可以读取、修改和写入图像。它的构造函数接受一个 IFileIO,您可以在其中传递一个 WindowsIO 实例(或 Win8IO,或 AndroidIO,或...)。 ImageConverter只用接口,不关心实现。