gpt4 book ai didi

c# - 从 ASP.NET 5 Beta 4 升级到 Beta 5 时出错

转载 作者:可可西里 更新时间:2023-11-01 08:32:39 26 4
gpt4 key购买 nike

我已按照步骤操作 here从 ASP.NET 5 Beta 4 升级到 Beta 5 但在运行时调用 application.UseBrowserLink(); 时出现错误:

An exception of type 'System.TypeLoadException' occurred in mscorlib.dll but was not handled in user code

Additional information: Could not load type 'Microsoft.AspNet.Builder.IApplicationBuilder' from assembly 'Microsoft.AspNet.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

这些是我遵循的步骤:

  1. 已安装 VS 2015 RC。
  2. 从 PowerShell 运行: $env:DNX_FEED="https://www.nuget.org/api/v2"
  3. 从 PowerShell 运行:dnvm upgrade
  4. 添加了一个 Global.json 文件(我还没有)。当我添加它时,它已经提到了 Beta 5:

    {
    "projects": [ "Source", "Tests" ],
    "sdk": {
    "version": "1.0.0-beta5-12103"
    }
    }
  5. 已将 project.json 中的所有包更新到 Beta 5。您可以看到我的 project.lock.json 文件的完整版本 here .

    {
    "dependencies": {
    "Boilerplate.Web.Mvc6": "1.0.2",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
    "Microsoft.AspNet.Mvc.Xml": "6.0.0-beta5",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta5",
    "Microsoft.Framework.Configuration.EnvironmentVariables": "1.0.0-beta5",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
    "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5",
    "Microsoft.Framework.Logging": "1.0.0-beta5",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta5",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5",
    "Newtonsoft.Json": "6.0.6",
    "System.Runtime": "4.0.20-beta-23019"
    }
    "frameworks": {
    "dnx451": {
    "frameworkAssemblies": {
    "System.Net.Http": "4.0.0.0",
    "System.ServiceModel": "4.0.0.0"
    }
    },
    "dnxcore50": {
    "dependencies": {
    "System.Net.Http": "4.0.0-beta-23019"
    }
    }
    }
    }
  6. 说明然后继续说您应该运行以下命令,但我相信 VS 2015 RC 会为您执行此操作 dnu restore 然后是 dnu build

更新

这似乎是浏览器链接的问题,注释掉该行可以让网站正常工作。它可能坏了?需要寻找有关 aspnet GitHub 的问题。

最佳答案

为了帮助您从 beta4 迁移到 beta5,这些是我根据研究/发现采取的以下步骤。

环境

  • PowerShell 运行:$env:DNX_FEED="https://www.nuget.org/api/v2"
  • PowerShell 运行:dnvm install 1.0.0-beta5
  • PowerShell 运行:dnvm use 1.0.0-beta5 -p(不确定是否需要,但我不得不这样做)

项目

  • 打开 global.json 并将 sdk 更新为 1.0.0-beta5 应该如下所示:

    {
    "projects": [ "src", "test" ],
    "sdk": {
    "version": "1.0.0-beta5"
    }
    }
  • 打开 project.json:

    • 将依赖项版本从 beta4 更新到 beta5
    • 更改配置依赖于:

      "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4"

      "Microsoft.Framework.Configuration": "1.0.0-beta5",
      "Microsoft.Framework.Configuration.Json": "1.0.0-beta5"
    • 删除 Microsoft.VisualStudio.Web.BrowserLink.Loader
    • _GlobalImport.cshtml 重命名为 _ViewImports.cshtml

Startup.cs 变化

  • 更改配置重大更改

    • 将命名空间从 using Microsoft.Framework.ConfigurationModel; 更改为 using Microsoft.Framework.Configuration;

    • Configuration.GetSubKey 更改为 Configuration.GetConfigurationSection

    • 将 CTOR 更改为:

      public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
      {
      // Setup configuration sources.
      var configBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
      .AddJsonFile("config.json")
      .AddEnvironmentVariables();

      Configuration = configBuilder.Build();
      }
    • 删除 app.UseBrowserLink();

DNU 项目 CMD

  • 应用根目录中打开PowerShell
  • 运行dnu restore
  • 运行dnu build
  • 此时关闭并重新打开 VS 有时会有所帮助。

我自己发现升级现有项目非常困难,找不到所有需要的步骤。希望对您有所帮助!

关于c# - 从 ASP.NET 5 Beta 4 升级到 Beta 5 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31218651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com