У меня есть небольшое консольное приложение, которое просматривает набор папок и пытается установить свойства ID3Tag.TAGLIB - Необработанное исключение типа «System.StackOverflowException» произошло в mscorlib.dll
Альбом и исполнитель ScrPathn являются строковыми константами.
static void Main(string[] args)
{
List<string> dirs = new List<string>(Directory.EnumerateDirectories(SrcPath));
foreach (var dir in dirs)
{
string ParentDirOfFile = dir.Substring(dir.LastIndexOf("\\") + 1);
List<string> files = new List<string>(Directory.EnumerateFiles(dir));
foreach (var file in files)
{
string filename = Path.GetFileName(file);
string destfile = Path.Combine(SrcPath, ParentDirOfFile + "_" + filename);
var fs = new FileStream(destfile, FileMode.Open);
using (var tagFile = TL.File.Create(new TL.StreamFileAbstraction(destfile, fs, fs)))
{
tagFile.Tag.Album = Album;
tagFile.Tag.Title = Path.GetFileNameWithoutExtension(destfile);
tagFile.Tag.AlbumArtists = new string[] { Artist };
tagFile.Save();
}
}
}
Console.ReadLine();
}
На этапе сохранить я получаю:
System.StackOverflowException было необработанное Сообщение: Необработанное исключение типа 'System.StackOverflowException' произошло в mscorlib.dll
Я использую последней версии от TagLig, которую я установил через NuGet. Какие-либо ошибки?
EDIT. Дополнительная информация предоставлена VS.
Измененный код для разделения прочитанных потоков записи.
var readfs = new FileStream(destfile, FileMode.Open);
var writefs = new FileStream(Path.Combine(SrcPath, "_" + ParentDirOfFile + "_" + filename), FileMode.Create);
using (var tagFile = TL.File.Create(new TL.StreamFileAbstraction(destfile, readfs, writefs)))
Такая же ошибка и создается пустой новый файл.
бросить ли это в первый раз она попадает спасти? – TaW
Да. В первый раз. – BrilBroeder