#visual-studio-2010
#visual-studio-2010
Вопрос:
У меня есть файл XML в пути запуска приложения. Программа должна прочитать файл xml. В процессе разработки он отлично работает. но когда я публикую приложение. Файл XML не копируется в каталог out put
Я пытался всегда устанавливать копию в выходной каталог. но безуспешно
Ответ №1:
Установили ли вы в Visual Studio для свойств xml-файла значение Content, а не None?
Возможно, было бы лучше сделать его встроенным ресурсом и записать его на диск на целевой машине, если он не существует, таким образом, пользователи могут выполнить локальное восстановление, но при необходимости отредактировать локальную версию.
Dim read As Stream = Me.GetType().Assembly.GetManifestResourceStream("my-file.xml")
Dim buf() As Byte = New Byte((read.Length) - 1)
Dim file As New FileStream("C:test.xml", FileMode.Create)
read.Read(buf, 0, buf.Length)
file.Write(buf, 0, buf.Length)
file.Close()
read.close()
отказ от ответственности: Прошло много времени с тех пор, как я делал VB, и я не пробовал этот код, но он есть
Также вам следует учитывать размер файла и, возможно, читать частями, а не целиком, в зависимости от размера файла. Я не добавил обработку ошибок, и вы, очевидно, захотите сначала проверить, есть ли файл
Комментарии:
1. Я также попытался настроить встроенный ресурс для действия сборки, но безрезультатно. Я что-то еще пропустил
2. в ваше приложение будет встроен встроенный ресурс, поэтому вам нужно будет либо прочитать его из потока ресурсов, либо записать на диск (если вы хотите разрешить пользователю редактировать его), я обновлю ответ выше
3. Есть ли какой-либо другой способ. потому что у меня больше таких файлов, и мне нравится, чтобы они автоматически копировались в путь запуска приложения при публикации приложения
4. похоже, тогда вам нужен установщик
5. хорошо, я указал путь установки как C:Program FilesTest в проект настройки msi, но когда мы устанавливаем файлы, путь установки отображается как C:Program Файлы Название компании по умолчанию Тест