4

我看到了这个命名空间:

System.Runtime.InteropServices.WindowsRuntime

它提供了 .NET 和 WindowsRuntime 之间的互操作性。

例如,您可以在创建 Metro 应用程序时调用 WindowsRuntime 中的方法,因为 Metro 使用 WindowsRuntime,例如

Windows.System.UserProfile.UserInformation

但是当您创建一个普通的 .NET 控制台应用程序或 WPF 应用程序时,您将无法再直接访问 WindowsRuntime 命名空间,例如 Windows.System

我想知道是否可以通过在上述命名空间中使用互操作来调用 WindowsRuntime 方法。

提前非常感谢!

4

2 回答 2

3

.NET 控制台模式应用程序或 WPF 应用程序不是 Metro 应用程序。它们只能在“常规”版本的 Windows 上运行。Windows 8 中的传统桌面。因此无法与 WinRT 互操作,它不会在进程中加载​​。以 WinRT 为目标需要在您启动项目时选择特定的 Metro 项目模板。

于 2012-04-25T11:58:23.723 回答
1

您需要将其添加到项目文件中:

<PropertyGroup>
  <TargetPlatformVersion>8.1</TargetPlatformVersion>
</PropertyGroup>

有关更多详细信息,请参阅如何使用桌面应用程序中的特定 WinRT API

于 2015-09-18T07:28:17.277 回答