У меня есть программа, написанная в Unity с использованием C#, которая инициализирует новый StreamReader и переходит к чтению текстовых данных из текстового файла Я сохранил папку ресурсов Unity. Все работает нормально, когда я нажимаю игру в Unity - все работает, и текст читается и отображается отлично. Однако, когда я пытаюсь создать его, чтобы запустить его через эмулятор HoloLens (платформа: Windows Store, SDK: Universal 10, Build and Run On: Local Machine), я получаю ошибку: ошибка CS1503: аргумент 1: невозможно преобразовать от 'string' до 'System.IO.Stream'.Вопросы программы, идущие от Unity To HoloLens - Невозможно преобразовать из 'string' в 'System.IO.Stream'
Я не понимаю, почему эта ошибка даже появляется в первую очередь, поскольку конструктор StreamReader имеет перегрузку, которая принимает строковый параметр.
Мой код выглядит следующим образом:
string metadata = String.Format("/Resources/.../metadata.txt", list);
if (File.Exists(Application.dataPath + metadata))
{
using (StreamReader sr = new StreamReader(Application.dataPath + metadata))
{
// ....
}
}
Я могу только предположить, что нет перегрузки StreamReader, который принимает имя файла как параметр, но только тот, который принимает только поток – Steve
. В нормальной системе System.IO.StreamReader существует перегрузка строк, это тот, который вы используете ? – XerShade
Я верю, что использую перегрузку строки в обычном System.IO.StreamReader, поскольку Application.dataPath возвращает строку, а метаданные - это строка. Для правильной работы этого режима необходимо использовать «System.IO». Все компилируется и работает нормально, когда вы нажимаете кнопку воспроизведения через Unity; однако, пытаясь создать его как приложение для Windows, я получаю ошибки компиляции, указанные в вопросе. – whycodingsohard