C# Windows 10应用程序-物联网系统管理功能

C# Windows 10应用程序-物联网系统管理功能,c#,windows,timezone,uwp,iot,C#,Windows,Timezone,Uwp,Iot,我们有Windows 10应用程序,我们正在尝试更改系统上的时区 我找到了关于将物联网扩展包括在项目中的文档,这些文档将提供基本的系统管理功能 到目前为止,我无法获得任何操作(重新启动系统、更改时区等)的权限,始终获取身份验证异常 这就是我尝试过的: 舱单(重要部分): 参考物联网添加到项目中物联网:正如Jackie所说: “不确定是否可行。但关键是物联网扩展仅适用于windows物联网设备” 然而,我确实找到了一个解决办法 如果其他人遇到这个问题 我运行了一个本地轻量级NancyFX we

我们有Windows 10应用程序,我们正在尝试更改系统上的时区

我找到了关于将物联网扩展包括在项目中的文档,这些文档将提供基本的系统管理功能

到目前为止,我无法获得任何操作(重新启动系统、更改时区等)的权限,始终获取身份验证异常

这就是我尝试过的:

舱单(重要部分):

参考物联网添加到项目中

物联网:正如Jackie所说:
“不确定是否可行。但关键是物联网扩展仅适用于windows物联网设备”

然而,我确实找到了一个解决办法

如果其他人遇到这个问题

我运行了一个本地轻量级NancyFX web服务,可以访问系统设置。在UWP应用程序中,我将以这种方式进行api调用并更改系统设置

请参阅和自托管示例

此外,如果从edge调用localhost,则需要设置环回应用程序异常,请参阅和


在那之后,几乎所有的东西都能正常工作。

以前的威胁,但当我搜索这个物联网系统管理清单的解决方案时,我偶然发现了这个问题。我正在使用VS2017。我的解决办法是 手动查看代码包清单。然后加上这一行

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" 
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" 
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" IgnorableNamespaces="uap mp uap4 iot">

<Capabilities>
    <iot:Capability Name="systemManagement"/> 
<Capabilities>

*请记住,您只能声明1个功能,因此,如果您已声明,则只需添加新功能

然后使用此代码在清单中添加功能

然后再转到添加参考->扩展选择 UWP版本10.0.10586.0的Windows物联网扩展
*即使您有更新的版本,也必须选择此选项才能工作

这真的是在Windows IOT设备上运行吗?似乎没有办法在常规的Windows 10上运行。我明白了。看起来IoT扩展仅适用于IoT设备,您不能仅在常规UWP项目中引用IoT扩展,并期望IoT API在您的桌面/平板电脑上工作,对吗?顺便说一句,如果您想执行系统级操作,如关机/更改时区,您可以参考本教程来创建代理组件。不确定是否可行。但关键是物联网扩展仅适用于windows物联网设备。我建议我们把它作为一个答案,这样其他人就有了一个参考。听起来很棒。
 Boolean canChange = Windows.System.TimeZoneSettings.CanChangeTimeZone;
 Windows.System.TimeZoneSettings.ChangeTimeZoneByDisplayName("(UTC+13:00) Samoa");
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" 
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" 
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" IgnorableNamespaces="uap mp uap4 iot">

<Capabilities>
    <iot:Capability Name="systemManagement"/> 
<Capabilities>