Бинарный формат в стандарте netstand 1.5

Согласно списку.NET CoreFx API и связанной с ними версии.NET Platform Standard, System.Runtime.Serialization.Formatters добавляется в.NET Platform Standard с версии 1.3, что здорово, но когда я пытаюсь создать.Net Базовая библиотека классов нацелена на netstandard1.5 под.Net Core RC2, я не могу ее использовать.

Код прост, просто намереваясь объявить BinaryFormatter:

public class Problems {
    private System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _formatter;
}

Ошибка:

Ошибка CS0234 Тип или имя пространства имен "Сериализация" не существует в пространстве имен "System.Runtime" (отсутствует ссылка на сборку?)

Вот проект.json, в который я не вносил изменений:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": "dnxcore50"
    }
  }
}

Итак, есть ли другой пакет, от которого мне нужно зависеть? И почему? Разве не достаточно нестандартного прозвища для всех API в списке?

2 ответа

Решение
  • System.Runtime.Serialization.Formatters Пакет был добавлен после RC2, он должен быть включен в релиз 1.0 завтра. А пока вы можете использовать версию от MyGet.
  • Версия 1.0 System.Runtime.Serialization.Formatters не будет содержать BinaryFormatter, В основном он содержит атрибуты сериализации и интерфейсы, а также используемые ими типы. Полный API этого пакета находится здесь.
  • Даже тогда, System.Runtime.Serialization.Formatters не упоминается NETStandard.Library, Если вы хотите использовать его, вам нужно явно добавить его в ваш project.json.
  • BinaryFormatter будет доступен в будущей версии.Net Core.

Ты не можешь найти BinaryFormatter в RC2,

http://packagesearch.azurewebsites.net/

О том, будет ли он частью.NET Core, вы можете обратиться к этому запросу,

https://github.com/dotnet/corefx/pull/8302/files

Я предполагаю, что это будет частью.NET Core 1.0 RTM или версии 1.1.

Другие вопросы по тегам