Windows Server 2016上的'ToastNotification'不包含'Data'的定义

时间:2019-04-29 08:25:02

标签: c# uwp notifications toast

在本地成功构建后,无法在构建服务器上构建Toast Progress Bar解决方案。

构建服务器上的错误:

  

错误CS0117:“ ToastNotification”不包含“数据”的定义

     

错误CS0246:找不到类型或名称空间名称'NotificationData'(您是否缺少using指令或程序集引用?)

     

错误CS1061:'ToastNotifier'不包含'Update'的定义,并且找不到可访问的扩展方法'Update'接受类型为'ToastNotifier'的第一个参数(您是否缺少using指令或程序集引用? )

我的代码:

public void ShowProgress()
{
    var definition = new XElement("toast");
    definition.Add(new XElement("visual", new XElement("binding", new XAttribute("template", "ToastGeneric"),
        new XElement("text", caption),
        new XElement("progress",
        new XAttribute("title", "{progressTitle}"),
        new XAttribute("value", "{progressValue}"),
        new XAttribute("status", "Downloading...")))));
    var data = new Dictionary<string, string>
        {
            { "progressTitle", string.Empty },
            { "progressValue", "0.00" }
        };

    var toast = new ToastNotification(ToXmlDocument(definition))
    {
        Tag = progressTag,
        Data = new NotificationData(data, sequenceNumber)
    };

    ToastDesktopNotificationManagerCompat.CreateToastNotifier().Show(toast);
}

public void UpdateProgress()
{
    ...
}

我们的构建服务器是Windows Server 2016,而我的开发人员盒是Windows 10 1803,都安装了VS 2017。起初我以为我只是想念Windows 10 SDK(10.0.15063.0),因为progress functionality是必需的,但这已经安装了更新的版本。

NotificationData位于Windows.UI.dll中,该文件位于c:\ Windows \ System32 \中,而不位于Windows SDK目录中。因此,这说明了为什么dll较旧并且在构建服务器上缺少类型。

所以问题是,是否可以在Windows Server 2016上构建进度代码,还是被迫升级到2019?

0 个答案:

没有答案