You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity UWP项目如何修改目标框架以实现ToastNotification

解决Unity UWP项目修改TFM以启用ToastNotification API的问题

方法1:构建UWP项目后手动修改生成的csproj

  • 打开Unity编辑器,切换到UWP平台(File > Build Settings > 选择Universal Windows Platform > Switch Platform)
  • 配置好UWP构建参数(目标设备、SDK版本等),点击Build选择输出文件夹生成VS项目
  • 打开生成的VS解决方案,找到主项目对应的csproj文件(通常命名为[你的项目名].csproj)
  • 编辑该文件,找到<TargetFramework>节点,修改为:
    <TargetFramework>net6.0-windows10.0.17763.0</TargetFramework>
    
  • 保存文件并重新加载VS项目,即可正常调用ToastNotification.Show()等完整API

方法2:用Unity PostProcessBuild自动修改(避免重复手动操作)

  • 在Unity工程的Assets/Editor目录下新建C#脚本(比如UWPPostBuildProcessor.cs)
  • 写入以下代码,实现构建完成后自动更新csproj的TFM:
    using UnityEngine;
    using UnityEditor;
    using UnityEditor.Callbacks;
    using System.IO;
    using System.Xml;
    
    public class UWPPostBuildProcessor
    {
        [PostProcessBuild(100)]
        public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
        {
            if (target != BuildTarget.WSAPlayer) return;
    
            string csprojPath = Path.Combine(pathToBuiltProject, PlayerSettings.productName + ".csproj");
            if (!File.Exists(csprojPath))
            {
                Debug.LogWarning("未找到UWP项目csproj文件:" + csprojPath);
                return;
            }
    
            XmlDocument doc = new XmlDocument();
            doc.Load(csprojPath);
            XmlNamespaceManager nsManager = new XmlNamespaceManager(doc.NameTable);
            nsManager.AddNamespace("msbuild", "http://schemas.microsoft.com/developer/msbuild/2003");
    
            XmlNode targetFrameworkNode = doc.SelectSingleNode("//msbuild:TargetFramework", nsManager);
            if (targetFrameworkNode != null)
            {
                targetFrameworkNode.InnerText = "net6.0-windows10.0.17763.0";
                doc.Save(csprojPath);
                Debug.Log("已成功将UWP项目TFM更新为net6.0-windows10.0.17763.0");
            }
            else
            {
                Debug.LogWarning("未在csproj文件中找到TargetFramework节点");
            }
        }
    }
    
  • 后续每次构建UWP项目时,脚本会自动完成TFM修改,无需手动干预

额外注意事项

  • 确保Unity的UWP构建配置中,.NET scripting backend设置为.NET 6(路径:Edit > Project Settings > Player > UWP > Other Settings > Configuration > Scripting Backend)
  • 使用ToastNotification API时,需在VS项目中引用Windows.UI.Notifications命名空间,并在Package.appxmanifest中启用通知相关权限(比如添加<Capability Name="internetClient" />)

内容的提问来源于stack exchange,提问作者Fatemeh Zare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:22:34