我想在unity的通用windows平台开发中使用windows runtime API

Posted

技术标签:

【中文标题】我想在unity的通用windows平台开发中使用windows runtime API【英文标题】:I want to use windows runtime API in the development of unity's universal windows platform 【发布时间】:2021-09-28 12:03:24 【问题描述】:

我参考this site做了如下脚本。

#define ENABLE_WINMD_SUPPORT
using UnityEngine;
using System.Collections;


public class test : MonoBehaviour


 void Start()
 
     #if ENABLE_WINMD_SUPPORT
         Debug.Log(Windows.System.UserProfile.AdvertisingManager.AdvertisingId);

     #endif

 

但是,我收到这样的错误并且它不起作用。

“错误 CS0103:名称 'Windows' 在当前上下文中不存在”

如果有人知道解决方案,请告诉我。

我尝试了什么

·在播放器设置(编辑>项目设置>播放器)中将API兼容级别设置为.NET Standard 2.0

·将目标平台改为通用windows平台

・使用 Unity 2021.1.15、2020.3.14f1、2018.4.36f1 尝试上述操作。

参考网站 https://docs.unity3d.com/ja/2021.1/Manual/IL2CPP-WindowsRuntimeSupport.html https://docs.unity3d.com/2021.1/Documentation/Manual/windowsstore-scripts.html

【问题讨论】:

“这样的错误”,这样的错误是什么?错误的详细信息是什么? 感谢您的回复。错误看起来像这样。错误 CS0103:当前上下文中不存在名称“Windows” 你查过这个错误是什么意思吗?你了解 C# 是如何解析引用的吗? 【参考方案1】:

删除第一行。

Unity 在可用时定义 ENABLE_WINMD_SUPPORT,并且仅在为 UWP 构建时可用。在文件顶部明确定义后,#if/#endif 块中的代码将始终被编译,无论在编译时 Windows 运行时 API 是否可用。如果它们不是(例如,当 Unity 编辑器为自己而不是为 UWP 编译代码时),则会出现编译错误。

【讨论】:

以上是关于我想在unity的通用windows平台开发中使用windows runtime API的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows Azure 中部署 Unity3D

100个 Unity实用技能| Unity将本地图片文件显示到Image组件中 通用方法整理

100个 Unity实用技能| Unity将本地图片文件显示到Image组件中 通用方法整理

在使用 Unity3d 开发的通用应用程序和独立应用程序之间建立通信

适用于其他平台的 Unity 中的 Nuget 库

哪个 Unity 平台最适合 Facebook Canvas 应用