Невозможно получить доступ к файлам в выходном каталоге при работе в Desktop Bridge - PullRequest
0 голосов
/ 23 апреля 2019

В моем проекте WPF у меня есть несколько файлов JSON, которые установлены как Content / Copy to Output Folder.При работе в качестве стандартного WPF я обращаюсь к ним следующим образом, и он работает нормально.

foreach (var config in Directory.GetFiles("HostConfigs", "*.json"))

Но когда я запускаю приложение под Desktop Bridge с помощью проекта упаковки, оно выдает следующее исключение

System.IO.DirectoryNotFoundException: «Не удалось найти часть пути» C: \ WINDOWS \ SysWOW64 \ HostConfigs '.'

1 Ответ

0 голосов
/ 23 апреля 2019

Проекты Desktop Bridge автоматически не устанавливают текущий каталог в выходную папку вашего проекта ... вместо этого они используют каталог по умолчанию Windows.

Чтобы исправить это в вашем проекте, в главной точке запуска (App.xaml.cs), просто добавьте следующее ...

    public partial class App : Application
    {
        public App()
        {
            SetCurrentDirectory();
        }

        /// <summary>
        /// Sets the current directory to the app's output directory. This is needed for Desktop Bridge, which
        /// defaults to the Windows directory.
        /// </summary>
        private void SetCurrentDirectory()
        {
            // Gets the location of the EXE, including the EXE name
            var exePath = typeof(App).Assembly.Location;
            var outputDir = Path.GetDirectoryName(exePath);
            Directory.SetCurrentDirectory(outputDir);
        }
    }
...