C# | Переместить файл с проекта

Hideme Flow

Известный
Автор темы
555
193
Можно как-то переместить файл с проекта по указанной дериктории (D:\)?
1659077482643.png

Пробовал вот так:
C#:
File.Move("/Files/Untitled-1.xml", $"D:\Untitled-1.xml");
Ошибка
1659077622176.png
 
Решение
C#:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "ProjectName.Folder.filename"; //тут полный путь к файлу внутри проекта
FileStream? fs = new FileStream("yourpath", FileMode.Create);
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
    stream.CopyTo(fs);
}
fs.Close();
Вроде робит, только нужно обернуть в try catch
Действия при сборке у меня: внедренный ресурс(Embedded resource)

Hideme Flow

Известный
Автор темы
555
193
Ну потому-что я хочу что-бы в итоге был 1 exe файл, без доп. папок. А если в свойствах файла "Действие при зборке" не будет равно "AdditionalFiles", то этот файл не добавится в exe файл (Тоесть его прочитать будет невозможно так как его просто не будет)
 

Snoopcheg

Известный
151
82
C#:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "ProjectName.Folder.filename"; //тут полный путь к файлу внутри проекта
FileStream? fs = new FileStream("yourpath", FileMode.Create);
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
    stream.CopyTo(fs);
}
fs.Close();
Вроде робит, только нужно обернуть в try catch
Действия при сборке у меня: внедренный ресурс(Embedded resource)
 
Последнее редактирование:
  • Нравится
Реакции: Hideme Flow

Hideme Flow

Известный
Автор темы
555
193
C#:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "ProjectName.Folder.filename"; //тут полный путь к файлу внутри проекта
FileStream? fs = new FileStream("yourpath", FileMode.Create);
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
    stream.CopyTo(fs);
}
fs.Close();
Вроде робит, только нужно обернуть в try catch
Действия при сборке у меня: внедренный ресурс(Embedded resource)
а как получить список всех файлов в директории (Stream stream = assembly.GetManifestResourceStream(resourceName)) ?
 

Snoopcheg

Известный
151
82
а как получить список всех файлов в директории (Stream stream = assembly.GetManifestResourceStream(resourceName)) ?
как вариант хранить список в массиве или каком-то xml файле, и при надобности обращаться к нему
UPD: Можно использовать это, но он будет получать совершенно все ресурсы проекта. Если использовать, придётся проверять та ли папка:
C#:
string[] resourceNames = assembly.GetManifestResourceNames();
 
Последнее редактирование:
  • Нравится
Реакции: Hideme Flow