某种程度上(我甚至没有做过任何事情)我在Visual Studio 2015中得到了很多错误,但我无法理解问题究竟是什么。
它说“Windows.Foundation.UniversalApiContract”库中存在很多“类型”。
有人能帮助我吗?我可以做些什么来拯救我的解决方案和我的项目?我有时试图清理和重建它,这没有用。
答案 0 :(得分:1)
看起来您正在引用Windows 10 SDK元数据(UAP)和Windows 8.1 SDK元数据(Windows)。您是在混合旧的和新的二进制文件,还是旧的项目文件?尝试从头开始创建一个新项目并添加您的源。
答案 1 :(得分:0)
我碰到了类似的东西:
不好玩。当我意外地将一个扩展方法添加到我在引用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的更改文件。
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并不总是按照依赖顺序构建我的项目,并且经常引用我的代码的旧编译应该开始新鲜。爆破任何可能过时的拐杖似乎迫使它做正确的方式。 ¯\ _(ツ)_ /¯