Адресация файлов ресурсов в C#
Я добавил свой файл в ресурсы, щелкнув правой кнопкой мыши -> существующий элемент. Теперь я хочу скопировать добавленный файл в другой каталог, например так:
File.Copy(@"I don't know", @"C:\Users\user-1\Desktop\", true);
Я не знаю, что мне нужно написать в @"я не знаю" части для адресации добавленного файла ресурсов.
1 ответ
Решение
Если myDir является каталогом вашего проекта, файл ресурсов имеет путь myDir \ Properties \ Resources.resx.
Теперь, когда вы запускаете программу из Visual Studio в режиме отладки, папка myDir \ Bin \ Debug.
Вы должны перейти на 2 папки и войти в папку " Свойства ":
var resourcesFileName = "Resources.resx";
var currentDirectory = Directory.GetCurrentDirectory();
var actualResourceFilePath = Path.Combine(
currentDirectory, "..", "..", "Properties", resourcesFileName);
var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var newFilePath = Path.Combine(desktop, resourcesFileName);
File.Copy(actualResourceFilePath, newFilePath, true);
Я предлагаю вам не использовать разделитель пути жестко закодированным способом (@"dir1\dir2...").
использование Path.Combine
вместо.