我正在编译谷歌应用程序API,但我还没有看到它在我失踪的地方。
.net和Windows 8 / 8.1都列出了但没有别的。我在Windows 7计算机上运行VS 2013。
因此,当我进入项目的引用时,我错过了所有原始的微软引用(即使我去添加它们,也没有什么可供选择)。
例如,我得到的错误是:警告2主要参考" System.IO",这是一个框架程序集,无法在当前目标框架中解析。 " .NETPortable,版本= 4.0版,档案=规范5&#34 ;.要解决此问题,请删除引用" System.IO"或者将您的应用程序重新定位到包含" System.IO"的框架版本。 Google.Apis.Admin.Directory.directory_v1
我不确定为什么当我选择它们(或者不允许我编译)时,以及所有其他微软API都没有显示出来。我认为这是因为.netportable以及我不在Windows 8.x计算机上的事实。
任何人都知道如何更改目标?我无论如何都看不到这样做。
答案 0 :(得分:1)
你所拥有的是Portable Class Library。它缺少许多Windows原生的名称空间和功能;基本上,PCL被简化为可以在所有目标平台上运行的.NET的最小功能集 对于许多缺少的命名空间,有替换PCL;如果没有,您可以在PCL中定义接口(并在特定于平台的代码中实现它们),这些接口充当"桥接器#34;在PCL和例如PCL之间Win32上的System.IO命名空间。
简单示例:您在PCL中使用IFileIO
和WriteFile(...)
定义ReadFile(...)
;然后,每个使用PCL的项目(例如:WindowsIO
Windows)都有一个实现IFileIO
的类,并在相应的函数中执行System.IO调用。
然后将Windows特定的实现与PCL接口结合起来;想象一下,你有一个ImageConverter类,可以读取,修改和写入图像。它的构造函数接受IFileIO
,您可以在其中传递WindowsIO
实例(或Win8IO,或AndroidIO,或......)。 ImageConverter仅使用界面,并不关心实现。