C# Microsoft.Extensions.Configuration,版本=2.1.1.0-异常无法加载文件或程序集

C# Microsoft.Extensions.Configuration,版本=2.1.1.0-异常无法加载文件或程序集,c#,nuget,C#,Nuget,背景:我为类库开发了一个.NET标准2.0 Nuget包(本地),该类库依赖于Microsoft.Extensions.Configuration,版本=2.1.1.0。它通过了单元测试,从.NETCore2.0控制台应用程序调用时运行良好。但是,当我将包添加到Azure函数项目时,每当我尝试从VS2017调试器运行Azure函数时,都会引发异常 System.Private.CoreLib:无法加载文件或程序集“Microsoft.Extensions.Configuration,版本=2.

背景:我为类库开发了一个.NET标准2.0 Nuget包(本地),该类库依赖于Microsoft.Extensions.Configuration,版本=2.1.1.0。它通过了单元测试,从.NETCore2.0控制台应用程序调用时运行良好。但是,当我将包添加到Azure函数项目时,每当我尝试从VS2017调试器运行Azure函数时,都会引发异常

  • System.Private.CoreLib:无法加载文件或程序集“Microsoft.Extensions.Configuration,版本=2.1.1.0,区域性=neutral,PublicKeyToken=adb9793829ddae60”
问题:如何解决问题

复制自OPs问题:

回答:当我降级到Microsoft.Extensions.Configuration,版本=2.0.0时,问题就消失了。在我的软件包中,重新发布它,然后在我的Azure功能中重新安装它。这似乎是另一个例子。当我的包被添加到Azure函数项目中时,Nuget包管理器应该已经发现了v2.1.1中的任何依赖性问题,但是它没有发现,所以它只是在运行时才显现出来。这是次优的


我提供上述信息是希望其他人不会浪费一天的时间来追踪同一问题。它还提出了一个问题,即如何决定要添加哪个版本的包。显然,对于Microsoft.Extensions.Configuration,添加最新的稳定版本并不总是最好的主意

我知道这是一个较老的问题,但遇到了同样的问题,将项目从2.2降级到2.1。并将ASPNetCore.All的用户删除到ASPNetCore.App。这向我展示了我们需要依赖多少软件包,以及最终出现的问题。我的错误来自Usersecrets检索。因为我失踪了:Microsoft.Extensions.Configuration.UserSecrets


希望这能帮助像我这样被困在这个问题上的人。应该知道它是一个丢失的软件包。

2.1.1需要.NET Core 2.1,因此如果Azure功能还不支持它,那么这将解释问题以及它在本地工作的原因(假设您安装了2.1.3xx SDK)考虑编辑你的帖子,包括一个问题并发布你的发现/解决方案作为答案。对于MyStut.ExtExs2.ValueV2.1.1给出的依赖项是:NETStandard,Value= V2.0和MyStut.ExtExist.SootoStudio。抽象(>=2.1.1)。但是,您可能是对的,原因与缺乏核心2.1支持有关。如果我的Azure功能项目不支持我正在添加的包的依赖项,那么包管理器不应该报告这一点吗?我现在已经添加了一个wiki答案,并从您的问题中删除了答案。如果你想添加你自己的答案,请告诉我,我会删除我在下面添加的答案。可能的副本