Аргумент Vnext 1: не удается преобразовать из 'string' в 'System. IO. Stream'



Я пытаюсь создать универсальный сериализатор с проектом Vnext, и когда я вызываю конструктор StreamWriter, он выдает эту ошибку компилятора




Ошибка CS1503 Аргумент 1: не удается преобразовать из 'string' в
Системы'.ИО.Test.ASP.NET Основной Поток 5.0 Помощником.cs 14




Хотя есть конструктор, который позволяет указать путь к файлу в качестве аргумента.



Это мой файл класса



using System;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Serialization;
using System.IO;

namespace Test
{
public static class Helper
{
public static void SerializeToXml<T>(string path, T value)
{
var serializer = new XmlSerializer(typeof(T));
using (var stream = new StreamWriter(path)) // ERROR OCCURS HERE
{
using (var writer = XmlWriter.Create(stream))
{
serializer.Serialize(writer, value);
}
}
}
}
}


Это мой проект.формат JSON файл



{
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
"run": "run"
},
"frameworks": {
"aspnet50": {
"dependencies": {

},
"frameworkAssemblies": {
"System.Xml": "4.0.0.0"

}
},
"aspnetcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-22231",
"System.Xml.XmlSerializer": "4.0.0-beta-22231",
"System.Collections": "4.0.10-beta-22422",
"System.Xml.ReaderWriter": "4.0.10-beta-22231",
"System.IO": "4.0.10-beta-22231"
}
}
}
}
740   1  

1 ответ:

Вот ответ от davidfowl

Это потому, что он недоступен на CoreCLR. Использовать новый StringWriter (Файл.OpenWrite (path)) вместо

Для дальнейшего использования где я могу проверить, доступна ли функция или нет?

Проблемы с файлами на https://github.com/dotnet/corefx хранилище. Они сможет прояснить, почему чего-то не хватает в новых рамках. Я полагаю, что причина, по которой эта конкретная перегрузка была устранена, была потому что проблемы наслоения между новыми пакетами.

Сборка, содержащая StreamWriter, не должна быть непосредственно ссылка на файловый поток:

new StreamReader(path)

На самом деле делает

new StreamReader(new FileStream(path, options)).

Comments

    Ничего не найдено.