Итак, файл находится в вашем проекте, и вам нужно, чтобы он находился в той же папке (структуре) в вашей папке, где находится ваше приложение.
Если я прав, есть два способа заставить это работать:
- Пометить файл как Содержимое , чтобы VS скопировал его в папку вашего файла .exe
- Добавьте его в качестве ресурса в приложение, если в-памяти памяти достаточно
Для решения 1 (в виде файла содержимого)
- Отметить файл в обозревателе решений
- Щелкните правой кнопкой мыши файл и выберитеproperties
- Измените Build Action на Содержимое
Теперь файл находится в Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "license.txt")
.
Возможно, вы добавили папку в каталог вашего решения и переместили туда нужный файл.В этом случае VS создаст всю структуру, как определено в вашем решении, для создания вашего файла контента.В этом случае вам, вероятно, потребуется добавить информацию о папке также в приведенный выше код.
Для решения 2 (в качестве внутреннего ресурса)
- Добавить требуемый файл (если еще нет)в вашем проекте (Project - Add Existing Item)
- Дважды щелкните в обозревателе решений на MyProject - Properties - Resources.resx
- Нажмите небольшую стрелку вниз рядом с кнопкой Add Resourceи выберите Добавить существующий файл ...
- Выберите файл, который вам снова нравится, в диалоговом окне
Теперь файл добавлен в качестве внутреннего ресурса в ваш проект.Для доступа к нему из кода просто используйте Properties.Resources.MyFileName
.В зависимости от типа файла вы получите здесь строку (если это текстовый файл) или байтовый массив (если он содержит какой-либо текст).
Также, если это простой текстовый файл, выможно дважды щелкнуть по нему в обозревателе решений, отредактировать его, и после перестроения новое приложение будет содержать измененный текст (очень удобно, если вам нужны некоторые операторы SQL или XML-файлы в приложении).