为了账号安全,请及时绑定邮箱和手机立即绑定

启动 ConfigureServices AddMvc()

启动 ConfigureServices AddMvc()

C#
手掌心 2021-07-14 18:01:31
从 30.05.2018 开始,我在 Startup.cs 中的 ASP.NET Core 代码public IServiceProvider ConfigureServices(IServiceCollection services){    // Add services to the collection.    services.AddMvc();}抛出异常如下:启动应用程序时发生错误。KeyNotFoundException: 字典中不存在给定的键。KeyNotFoundException: 字典中不存在给定的键。System.Collections.Generic.Dictionary.get_Item(TKey 键) Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider+CandidateResolver.ComputeClassification(string 依赖) Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider+CandidateResolver.ComputeClassification(stringNetCore 依赖) Microsoft.Asp .Mvc.Internal.DefaultAssemblyPartDiscoveryProvider+CandidateResolver.ComputeClassification(字符串依赖) Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider+CandidateResolver.ComputeClassification(字符串依赖) Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider+Candidate System.MoNext+(字符串依赖) Linq.Enumerable+d__17.MoveNext() System.Linq。项目<TargetFramework>net461</TargetFramework><ItemGroup><PackageReference Include="Autofac" Version="4.6.2" /><PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.1.0" /><PackageReference Include="EntityFramework" Version="6.2.0" /><PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.1" /><PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /><PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="1.1.2" /><PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /><PackageReference Include="Microsoft.AspNetCore.SignalR.Server" Version="0.2.0-preview2-22683" /><PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="1.0.2" /><PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /><PackageReference Include="Microsoft.IdentityModel.Tokens" Version="5.1.5" /><PackageReference Include="Microsoft.VisualStudio.SlowCheetah" Version="3.0.61" /><PackageReference Include="NLog.Web.AspNetCore" Version="4.4.1" />
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

从几天前开始,我们也面临着同样的问题。

我们还注意到我们和您都在使用 AspNetCore 1.1(一个相当老的版本)。

凭直觉,我们更新到最新的 (2.1) 并解决了我们的问题。


查看完整回答
反对 回复 2021-07-17
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

我们也面临着完全相同的问题。这是我们将问题隔离到的程度: 1. 重建旧版本的代码会导致构建工件中的 XXXXX.deps.json 发生更改。


 "compilationOptions": {

"defines": [

  "TRACE",

  "DEBUG",

  "NET461"

],

成为


"compilationOptions": {

"defines": [

  "TRACE",

  "DEBUG",

  "NETFRAMEWORK",

  "NET461"

],


      "HealthBizModel/1.0.0": {

    "runtime": {

      "HealthBizModel.dll": {}

    }

  },

  "HealthBizService/1.0.0": {

    "dependencies": {

      "HealthBizModel": "1.0.0"

    },

成为(依赖项部分是什么打破了它)


  "HealthBizModel/1.0.0": {

    "dependencies": {

      "System.Runtime.Reference1": "4.0.20.0",

      "System.Net.Primitives.Reference1": "4.0.10.0",

      "System.Net.Http.WebRequest": "4.0.0.0"

    },

    "runtime": {

      "HealthBizModel.dll": {}

    }

  },

  "HealthBizService/1.0.0": {

    "dependencies": {

      "HealthBizModel": "1.0.0",

      "System.Text.Encoding.Reference1": "4.0.10.0"

    },

有趣的是,我们发现如果我们回滚第二个部分,删除依赖项,Web 应用程序将启动并完全正常运行。所以如果你在紧急情况下


进一步的解决尝试: - 从受影响的项目中清除未使用的依赖项(适用于 1 个构建,但奇怪地再次开始失败 - 向代理池添加了一个新的 VS2017 构建代理并用它构建:也没有改变。


我们还将尝试更多的想法,例如@Scott Willis 升级到 dotnet core 2.0


查看完整回答
反对 回复 2021-07-17
  • 3 回答
  • 0 关注
  • 381 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号