У меня есть базовый проект Dotnet что я важные данные образца в из XML.Невозможно загрузить данные примера в ядре приложения Dotnet при работе в отладчике, но прекрасно работает в терминале
XDocument sampleData = XDocument.Load(@"seed/Import_sampleData.xml");
В терминале, когда я выполнить его с помощью команды Dotnet запуска он загружает данные просто отлично, как и ожидалось, но в Visual Studio кодекса я получаю разные результаты, когда я пытаюсь запустить отладчик:
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not find file '/Users/Chris/Google Drive/Repos/project/project.api/seed/Import_sampleData.xml'.
Я не уверен, что проблема в том, что я думал, что отладчик также использует dotnet run, так почему же он будет вести себя по-другому?
Как предложено здесь мои настройки copyToOutput в моей project.json. Файл XML теперь копируется в папку бен на сборке, но по-прежнему возвращает файл не найден исключение:
"copyToOutput": {
"include": [
"config.json",
"Certificate.pfx",
"seed\\"
]
}
Я думаю, что когда вы запускаете его из визуальной студии, он использует двоичную папку в качестве базовой папки, когда вы запускаете ее с консоли, она использует папку проекта. Вы пытались скопировать файл в каталог сборки (используя project.json 'copyToOutput'? – Tseng
Я добавил каталог для copyToOutput, и когда сборка проекта, теперь я могу видеть файлы xml в подпапке bin, но я все еще получаю то же поведение. Он не может найти файл – chris