Windows 10 Universal App - 类型存在于“Windows.Foundation.UniversalApiContract”中

时间:2015-07-02 13:36:20

标签: c# win-universal-app visual-studio-2015 windows-10

某种程度上(我甚至没有做过任何事情)我在Visual Studio 2015中得到了很多错误,但我无法理解问题究竟是什么。

它说“Windows.Foundation.UniversalApiContract”库中存在很多“类型”。

有人能帮助我吗?我可以做些什么来拯救我的解决方案和我的项目?我有时试图清理和重建它,这没有用。

Errors in Visual Studio 2015

2 个答案:

答案 0 :(得分:1)

看起来您正在引用Windows 10 SDK元数据(UAP)和Windows 8.1 SDK元数据(Windows)。您是在混合旧的和新的二进制文件,还是旧的项目文件?尝试从头开始创建一个新项目并添加您的源。

答案 1 :(得分:0)

我碰到了类似的东西:

15178 errors, huh?

不好玩。当我意外地将一个扩展方法添加到我在引用using Windows.ApplicationModel.DataTransfer;的可移植类库项目中的一组实用程序时,我认为它开始了,因为我(愚蠢地)添加了一些代码访问剪贴板到PCL。这有点道理;现在我有效地定位了两个 Windows平台,这显然是错误的。

有一些东西被添加到该PCL项目的csproj文件中。首先是这一行:

<UseVSHostingProcess>false</UseVSHostingProcess>

第二个是这个ItemGroup:

<ItemGroup>
    <Reference Include="Windows.Foundation.UniversalApiContract">
      <HintPath>..\..\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\2.0.0.0\Windows.Foundation.UniversalApiContract.winmd</HintPath>
    </Reference>
</ItemGroup>

我不确定是否所有这些都是必需的,但我确实删除了与剪贴板相关的代码,Windows.ApplicationModel.DataTransfer;中对using的引用,并重置/删除了对csproj的更改文件。

然而,我仍然有很多相同的错误。我发现干净的重建并不总是像我期望的那样工作,所以我创建了一个.bat文件,我保留在启动项目文件夹的根目录中,以便在遇到问题时运行。首先,我必须在Visual Studio中关闭解决方案,然后运行...

cd C:\Projects\solutionName\projectName
cd ./bin
rmdir x64 /S /Q
rmdir x86 /S /Q
rmdir ARM /S /Q

cd ../obj/
rmdir x64 /S /Q
rmdir x86 /S /Q
rmdir ARM /S /Q

cd ..
pause

在构建并提交到商店之前,我现在还必须运行它(再次,关闭解决方案)。不确定为什么,但做这两件事 - 从&amp;删除非PCL代码重置PCL项目并对这些/bin/obj文件夹进行处理 - 确实解决了这个问题。

我为什么不得不吹嘘/bin/obj的不科学预感是VS并不总是按照依赖顺序构建我的项目,并且经常引用我的代码的旧编译应该开始新鲜。爆破任何可能过时的拐杖似乎迫使它做正确的方式。 ¯\ _(ツ)_ /¯