1

升级到 .net core 2.2 并升级到最新的 AWS 库版本后,我在初始化期间遇到了这个运行时错误:

[System.InvalidOperationException] 环境变量 AWS_ENABLE_ENDPOINT_DISCOVERY 未设置布尔值。

看起来像是Amazon.Runtime.EnvironmentVariableAWSEndpointDiscoveryEnabled.EnvironmentVariableAWSEndpointDiscoveryEnabled()试图读取这个环境变量。

奇怪的是,它仅在同时运行(在调试模式下)多个 Web API 项目时发生,而不是在单独运行单个项目时发生。

附加信息:

  • .NET Core 作为进程中运行 (w/IISExpress)
  • 我们将它用于 Dynamo、Kms、CloudFront .NET 库
  • 我们在 .net core 2.0 中运行它时没有任何问题
  • AWSSDK.Core 版本 3.3.17.4
  • AWSSDK.Extensions.NETCore.Setup 版本 3.3.3
  • AWSSDK.Core 版本:3.3.101.3
  • AWSSDK.Extensions.NETCore.Setup 版本:3.3.100.1
4

2 回答 2

1

该错误表明该变量尚未声明。所以声明一下。为我工作。

尝试这个:

Environment.SetEnvironmentVariable("AWS_ENABLE_ENDPOINT_DISCOVERY", "false");

完整的块(在我的例子中):

Environment.SetEnvironmentVariable("AWS_ENABLE_ENDPOINT_DISCOVERY", "false");
var opt = Configuration.GetAWSOptions();
IAmazonS3 client = opt.CreateServiceClient<IAmazonS3>();
于 2019-06-22T00:40:57.583 回答
0

如果只有您或您的一些团队成员看到此错误,请检查是否在 Visual Studio 中打开了异常设置 -> CLR 异常。

如果是,请取消选中该框。

Visual Studio 中异常设置面板的屏幕截图

于 2021-10-21T14:52:00.250 回答