【问题标题】:'System.IO.FileLoadException' when reference a web app in a console app在控制台应用程序中引用 Web 应用程序时出现“System.IO.FileLoadException”
【发布时间】:2019-09-03 08:40:13
【问题描述】:

我有一个 Web 应用程序(asp.net-core-mvc)和一个控制台应用程序(.net 核心控制台)。我正在尝试在我的控制台应用程序中引用我的 Web 应用程序。我添加了一个参考,我可以从我的控制台应用程序中使用我的网络应用程序中的方法。

但是当我尝试访问我的数据库时,它会失败。

client = DocumentClientManager.GetClient();

我的 DocumentClientManager 只获取我的 Web 应用程序运行的环境。如果它是开发、测试或生产环境

然后我返回一个端点,databaseid 等等

我可以在我的客户端设置断点 = DocumentClientManager.GetClient(); 我会达到它,但仅此而已。然后我的输出窗口中出现错误提示

'System.IO.FileLoadException' in ("web app.dll")

谁知道我能做些什么?

【问题讨论】:

  • 嗨,欢迎来到 SO,Mags。请考虑将该异常的堆栈跟踪添加到您的问题中(edit,请勿评论)。
  • 我相信正在发生的事情是 Web 应用程序正在尝试读取/写入文件(可能是配置文件)并且没有权限或文件不存在。该文件可以是数据库。能否使用两个 VS 实例同时调试 Web 应用程序和控制台应用程序?
  • 我找到了我所缺少的。我错过了 3 个 Nugent 包。
  • 那么,现在可以了吗?这很奇怪。缺少依赖项时从未出现过该异常。
  • 问题是我没有抛出异常,所以我转到“Debug/Windows/Exception”并为filenotLoadException打开异常。然后表明我没有一个重要的包

标签: c# .net-core asp.net-core-mvc


【解决方案1】:

问题是我没有 3 个 nugent 软件包。现在我的问题是我不能调用我的网络应用程序,因为

var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

当我来自控制台应用程序时返回 null。有什么解决办法吗?

【讨论】:

  • 请修改您的问题,甚至更好:删除此问题并创建一个新问题。
  • 好的,会这样做
【解决方案2】:

尝试在控制台应用程序中设置环境变量。

例如窗户

C:/> 设置 ASPNETCORE_ENVIRONMENT=开发

C:/> 点网运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多