Юбилейное обновление uwp Средство форматирования двоичных файлов

Я не могу найти класс Binary Formatter в проекте uwp, ориентированном на юбилейный SDK. Проблема в том, что мне нужно поделиться вспомогательным классом с некоторыми методами, которые используют Binary Formatter, между 3 проектами 1. webapi (dotner core 3) 2. основное приложение uwp (1809 sdk) 3. боковое приложение uwp ( юбилейный сдк)

теперь бинарный форматтер по умолчанию доступен в первых двух проектах, но в третьем вызывает ошибку компиляции. В основном я использую этот вспомогательный класс для шифрования.

Код

private byte[] ConvertIntoByte(object value)
{
    using (var ms = new MemoryStream())
    {
        var bf = new BinaryFormatter();
        bf.Serialize(ms, value ?? "null");
        return ms.ToArray();
    }
}

person Muhammad Touseef    schedule 18.12.2019    source источник
comment
Вам либо не хватает ссылки, либо оператора using в верхней части модуля. Чтобы проверить ссылку, откройте обозреватель решений и перейдите на вкладку «Ссылка».   -  person jdweng    schedule 18.12.2019
comment
@jdweng с использованием System.Runtime.Serialization.Formatters.Binary; это работает для других 2 проектов, но не могу найти это, используя в 3-м проекте, какой конкретный nuget или dll мне нужно добавить, чтобы это работало? VS предлагает мне установить EcoCore, но даже после установки он не может найти это пространство имен.   -  person Muhammad Touseef    schedule 18.12.2019
comment
Вы можете добавить ссылку в методе Project: Add Reference. Вам нужно проверить другой проект и посмотреть, где находится dll. Вы можете использовать вкладку «Обзор», чтобы добавить ссылку, если она не находится на вкладке «Сеть» или «Коммуникация».   -  person jdweng    schedule 18.12.2019


Ответы (2)


теперь бинарный форматтер по умолчанию доступен в первых двух проектах, но в третьем вызывает ошибку компиляции.

Проблема в том, что BinaryFormatter только класс применяется к .Net Standard 2.0 2.1. Это означает, что минимальная поддерживаемая версия UWP — 16299. Поэтому измените минимальную версию целевого приложения для вашего дополнительного приложения на 16299. Или установите стороннюю библиотеку, такую ​​как EcoCore.

person Nico Zhu - MSFT    schedule 18.12.2019

Мне пришлось добавить nuget «EcoCore», а затем перезагрузить проект и перестроить, чтобы решить проблему.

person Muhammad Touseef    schedule 18.12.2019