3

我有一个使用 Visual Studio 2012 构建的 Windows 8 应用程序。该应用程序还使用同样使用 Visual Studio 2012 构建的第 3 方组件(打包为Extension SDK)。由于该组件是使用 C++ 编写的,因此扩展 SDK 依赖于 Microsoft .VCLibs.110.00(Visual C++ 2012 运行时)。

现在,我正在尝试为 Windows 8.1 重建这个应用程序。当我尝试使用 Visual Studio 2013 构建此项目时,我看到以下行为(仅使用 Bing Maps SDK 作为示例,这适用于使用 VS 2012 构建的任何其他 SDK):


引用 Windows 8.0 扩展 SDK 组件的 Windows 8.1 C++ 应用程序

构建失败并出现以下错误:

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): 警告 MSB3842: 项目“cppapp”依赖于 SDK“Bing Maps for C#, C++, or Visual Basic v1.113.0601.2”,支持面向“Windows 8.0”的应用程序。要验证“Bing Maps for C#、C++ 或 Visual Basic v1.113.0601.2”是否与“Windows 8.1”兼容,请联系 SDK 作者或访问http://go.microsoft.com/fwlink/?LinkID=309181 .

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): 警告 MSB3781: SDK "Bing.Maps.Xaml, Version=1.113.0601.2" 取决于以下 SDK“Microsoft.VCLibs, version=11.0”,尚未添加到项目中或未找到。请确保将这些依赖项添加到您的项目中,否则您可能会遇到运行时问题。您可以通过参考管理器将依赖项添加到您的项目中。

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): error MSB3841: SDK“Bing Maps for C#, C++, or Visual Basic”取决于SDK“Microsoft.VCLibs, version=11.0”,与“Windows 8.1”不兼容。请参考支持“Windows 8.1”的 SDK“Bing Maps for C#、C++ 或 Visual Basic”版本。

引用 Windows 8.0 扩展 SDK 组件的 Windows 8.1 C# 应用程序

构建失败并出现以下错误:

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): 警告 MSB3842: 项目“csharpapp”依赖于 SDK“Bing Maps for C#, C++, or Visual Basic v1.113.0601.2”,支持面向“Windows 8.0”的应用程序。要验证“Bing Maps for C#、C++ 或 Visual Basic v1.113.0601.2”是否与“Windows 8.1”兼容,请联系 SDK 作者或访问http://go.microsoft.com/fwlink/?LinkID=309181 .

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): 警告 MSB3783: Project "csharpapp" 依赖于 SDK "Microsoft Visual C++ Runtime Package v11.0"它最初是为针对“Windows 8.0”的应用程序发布的。要验证“Microsoft Visual C++ Runtime Package v11.0”是否与“Windows 8.1”兼容,请联系 SDK 作者或查看http://go.microsoft.com/fwlink/?LinkID=309181

1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5): error MSB3841: SDK“Bing Maps for C#, C++, or Visual Basic”取决于SDK“Microsoft.VCLibs, version=11.0”,与“Windows 8.1”不兼容。请参考支持“Windows 8.1”的 SDK“Bing Maps for C#、C++ 或 Visual Basic”版本。

WACK 错误

如果我能够以某种方式继续前进(在更改 Bing Maps SDK 的 SDKManifest.xml 之后),我就可以创建一个应用程序包。当我在我的应用程序上运行WACK时,我收到以下错误:

cppapp 依赖于 Microsoft Visual C++ 运行时包 (Microsoft.VCLibs.110.00) 框架,但清单中缺少框架依赖项声明。


有没有其他人遇到过这些问题。如果是,那么您是如何解决这些问题的?

4

2 回答 2

2

Visual Studio 2013 Update 1(有关详细信息,请参阅此博客文章)解决了这些问题。它包含适当的修复以解除对上述场景的阻止,并允许使用 VS2013 构建的 Windows 8.1 应用程序引用标记为 Windows 8 和/或使用 Visual C++ 2012 构建的 SDK。

于 2014-01-20T19:14:40.273 回答
1

要从 windows 8.1 引用 bing 地图,您应该使用适用于 windows 8.1 的 SDK,而不是适用于 windows 8 的 SDK。

这里这里,需要重新编译 C++ 包以与 Windows 8.1 兼容,所以如果它尚未更新并且您无权访问源代码,您将无能为力...:

使用 C++ 编写并为 Windows 8 创建的扩展 SDK 与 Windows 8.1 不兼容。

于 2013-10-22T22:19:44.343 回答