在调试器中运行时无法将示例数据加载到dotnet核心应用程序中,但在终端中运行正常
问题描述:
我有一个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运行所以为什么它的行为会有所不同?
建议这里是我在我的project.json中的copyToOutput设置。 XML文件现在被复制到构建bin文件夹,但仍然会返回一个文件未发现异常:
"copyToOutput": {
"include": [
"config.json",
"Certificate.pfx",
"seed\\"
]
}
答
我想通了......基本上我有2个库项目,然后我的API项目下的所有子文件夹一个。所以调试器从包含三个项目的根工作区文件夹开始。我改变了cwd以开始在我的api项目中,因为其他项目通过依赖关系被拉入,然后它立即在我的项目中找到了xml文件。
我认为当你从Visual Studio运行它时,它使用二进制文件夹作为基础文件夹,当你从控制台运行它时,它使用项目文件夹。您是否尝试将文件复制到构建目录中(使用project.json'copyToOutput'? – Tseng
我将该目录添加到了copyToOutput中,并且在构建项目时我现在可以在bin的子文件夹中看到xml文件,但我仍然可以看到相同的行为,它找不到该文件 – chris