Установить для приложения текущую директорию, отличную от директории приложения - C#
Формулировка задачи:
Ситуация такая: в моем коде всё работает нормально. Следующий код:
Считывает весь текст из из файла code.in в директории ...\MyProject\bin\Debug\ преобразуется в строку.
Но увидел ровно такой же код у однокурсницы, но у неё происходит следующее: считывается файл code.in из директории ...\"HerProject"\ потом он копируется в ...\HerProject\bin\Debug\, далее естественно весь текст преобразуется в строку, записывается в text и код работает дальше.
Нашел в интернете(видимо я не прав), что базовый путь можно получить из AppDomain.CurrentDomain.BaseDirectory, но эта функция выдает одно и то же т.е. в моём случае данная функция выдает ...\MyProject\bin\Debug\, в её случае ...\HerProject\bin\Debug\
Она сама не знает как это сделала. Объясните пожалуйста.
P.S. кстати, если удалить файл code.in из ...\"HerProject"\ то происходит следующая ошибка:
"не удалось скопировать файл "...\HerProject\code.in" - файл не найден." указывающая на что-то в Microsoft.Common.targets
string text = File.ReadAllText("code.in");
<Copy SourceFiles = "@(_SourceItemsToCopyToOutputDirectoryAlways)" DestinationFiles = "@(_SourceItemsToCopyToOutputDirectoryAlways->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" >
Решение задачи: «Установить для приложения текущую директорию, отличную от директории приложения»
textual
Листинг программы
string text = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "code.in"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д