Файл XML отсутствует при публикации vb.net приложение по щелчку мыши один раз

#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 Файлы Название компании по умолчанию Тест