Я не могу собрать свое решение Toast Progress Bar на сервере сборки после успешной сборки локально.
Ошибки на сервере сборки:
Ошибка CS0117: «ToastNotification» не содержит определения «Данные»
Ошибка CS0246: не удалось найти тип или имя пространства имен «NotificationData» (отсутствует директива using или ссылка на сборку?)
Ошибка CS1061: «ToastNotifier» не содержит определения «Update», и нет доступного метода расширения «Update», принимающего первый аргумент типа «ToastNotifier» (вы пропустили директиву using или ссылку на сборку? ) * +1010 *
Мой код:
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 VS 2017. Сначала я подумал, что мне просто не хватает Windows 10 SDK (10.0.15063.0), поскольку это требуется для функциональности прогресса , но эта и более новая версия уже установлена.
NotificationData
находится в Windows.UI.dll, который находится в каталоге c: \ Windows \ System32 \, а не в каталоге Windows SDK. Так что это объясняет, почему на моем сервере сборки более старые и отсутствующие типы.
Итак, вопрос в том, возможно ли построить мой код прогресса на Windows Server 2016 или я вынужден обновиться до 2019?