Каждый раз, когда я пытаюсь сохранить что-то в моем созданном документе XML, путь, который я использую, по-прежнему неправы. Вот код:Путь к работе с дозами XML
public string ToXml<T>(T obj, string path)
{
var saveToXmlPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), path);
using (var stringWriter = new StreamWriter((saveToXmlPath)))
{
var xmlSerializer = new XmlSerializer(typeof(ObservableCollection<object>));
xmlSerializer.Serialize(stringWriter, obj);
return stringWriter.ToString();
}
}
public Constructor()
{
var temp = new ObservableCollection<Model> {
new Model { ID = 1, Name = "Name1" },
new Model { ID = 2, Name = "Name2" },
new Model { ID = 3, Name = "Name3" } };
ToXml(temp, @"Common\Assets\XML\XmlFile.xml");
}
Он постоянно говорят, что путь неправильно, держит добавление/отлаживать/большой в пути.
Какова ценность Assembly.GetEntryAssembly(). Местонахождение? –
Основываясь на вашем комментарии в другом ответе, путь, который возвращает сборка, является 'C: \\ Users \\ UserName \\ Documents \\ Visual Studio 2015 \\ Projects \\ SolutionName \\ ProjectName \\ bin \\ Debug \\ 'что правильно. Когда визуальная студия компилирует ваше приложение, она поместит ее в каталог 'bin', а затем внутри подкаталога для конфигурации, в этом случае' debug'. это местоположение, из которого выполняется текущий скомпилированный .exe. Где вы EXPECT, чтобы попытаться написать файл? –
Я ожидаю, что он напишет файл в том месте, где я создал XML-документ. – Micsto