Адресация файлов ресурсов в 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 вместо.

Другие вопросы по тегам