Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从ASP.NET 5 Beta 4升级到Beta 5时出错_C#_Asp.net_.net_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

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

C# 从ASP.NET 5 Beta 4升级到Beta 5时出错,c#,asp.net,.net,asp.net-core,asp.net-core-mvc,C#,Asp.net,.net,Asp.net Core,Asp.net Core Mvc,我已经按照步骤从ASP.NET 5 Beta 4升级到Beta 5,但在运行时调用application.UseBrowserLink()时出错: 中发生“System.TypeLoadException”类型的异常 mscorlib.dll,但未在用户代码中处理 其他信息:无法加载类型 来自程序集的“Microsoft.AspNet.Builder.iaApplicationBuilder” 'Microsoft.AspNet.Http,版本=1.0.0.0,区域性=中性, PublicKey

我已经按照步骤从ASP.NET 5 Beta 4升级到Beta 5,但在运行时调用
application.UseBrowserLink()时出错

中发生“System.TypeLoadException”类型的异常 mscorlib.dll,但未在用户代码中处理

其他信息:无法加载类型 来自程序集的“Microsoft.AspNet.Builder.iaApplicationBuilder” 'Microsoft.AspNet.Http,版本=1.0.0.0,区域性=中性, PublicKeyToken=null'

以下是我遵循的步骤:

  • 已安装VS 2015 RC
  • 从PowerShell运行:
    $env:DNX\u提要=”https://www.nuget.org/api/v2“
  • 从PowerShell运行:
    dnvm升级
  • 添加了一个Global.json文件(我还没有)。当我添加它时,它已经提到了Beta 5:

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

  • 然后,说明继续说您应该运行以下命令,但我相信VS 2015 RC会为您执行此操作
    dnu restore
    然后
    dnu build
  • 更新

    这似乎是一个问题与浏览器链接,评论行出来允许网站工作。它可能坏了?需要围绕aspnet GitHub问题展开调查。

    问题在于:

    您将DNX从beta4更新为beta5,并且希望在Visual Studio RC中运行MVC6模板(其模板是围绕beta4构建的)


    首先,beta5中不再存在“Microsoft.Framework.Configuration.Json”
    。(您肯定会看到:-中断从beta4到beta5的更改)

    为了确保您的DNX得到了正确的更新,构建一个新的空web项目,只需添加MVC/WebAPI(检查其工作情况的简单案例)


    我还没有试着运行MVC模板,但我会试着返回给您。

    在与ASP.NET vNext团队的@DavidFoll交谈后,他告诉我浏览器链接在beta5中不起作用,应该删除。

    为了帮助您从beta4迁移到beta5,我采取了以下步骤,基于研究/发现

    环境
    • PowerShell运行:
      $env:DNX\u提要=”https://www.nuget.org/api/v2“
    • PowerShell运行:
      dnvm安装1.0.0-beta5
    • PowerShell运行:
      dnvm使用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.VisualStudio.Web.BrowserLink.Loader
      • \u GlobalImport.cshtml
        重命名为
        \u ViewImports.cshtml
    Startup.cs更改
    • 更改配置中断更改


      • 使用Microsoft.Framework.ConfigurationModel从
        更改命名空间转换为

      • Configuration.GetSubKey
        更改为
        Configuration.GetConfigurationSection

      • 更改为:

        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 CMDs项目
    • 在应用程序根目录中打开PowerShell
    • 运行dnu还原
    • 运行
      dnu构建
    • 此时关闭和重新打开VS有时会有所帮助
    我自己发现升级现有项目非常困难,无法找到所有需要的步骤。
    希望有帮助

    要完成此操作,如果您想从beta 4升级到beta 6,请参阅Stephen Lautier的答案,并在下面给出答案:

    从beta 5升级到beta 6:

    我做到了:

    • 打开global.json并将sdk更新为“1.0.0-beta6”并保存此文件
    • Visual Studio 2015建议下载beta6,请单击“是”
    在project.json中:

    • 将dnx451(或dnx452)更改为dnx46(使用框架4.6)
    • 将此文件中的所有“-beta5”替换为“-beta6”

    • 删除Microsoft.Framework.ConfigurationModel.UserSecrets
    在Startup.cs中,如果使用会话:

    • 用app.UseSession()替换app.UseInMemorySession(…)
    • 在ConfigureServices中,添加以下内容:

       services.AddCaching();
       services.AddSession();
       services.ConfigureSession(o => {    o.IdleTimeout = TimeSpan.FromSeconds(10); });
      
    • 右键单击项目>属性>调试>添加新环境变量:

    名称:DNX\U IIS\U运行时\U框架

    值:dnx46

    有关更多信息,请参见:

    • 在Package Manager控制台中,编写此“dnu还原”和此“dnu构建”
    • 重新启动Visual Studio

    我的项目在beta6中工作之后,可能还有其他事情要做。

    如果有人想知道如何更新到ASP.NET 5 Beta 7,我发现下载Visual Studio 2015的最新ASP.NET和Web工具更新,然后在Visual Studio中创建一个新的ASP.NET 5项目非常有用

    这将为您创建一个Beta 7项目,其中包含项目结构、代码和引用的依赖项。然后,您可以将此作为升级任何现有旧Beta项目的指南

    例如,这里是my project.json使用所有Beta 7依赖项的外观:

    {
      "webroot": "wwwroot",
      "userSecretsId": "aspnet5-WebApplication1-a433a0ef-3bed-4bc9-8086-8d18070fa2c1",
      "version": "1.0.0-*",
    
      "dependencies": {
        "EntityFramework.Commands": "7.0.0-beta7",
        "EntityFramework.SqlServer": "7.0.0-beta7",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta7",
        "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7",
        "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7",
        "Microsoft.AspNet.Mvc": "6.0.0-beta7",
        "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7",
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta7",
        "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.Json": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7",
        "Microsoft.Framework.Logging": "1.0.0-beta7",
        "Microsoft.Framework.Logging.Console": "1.0.0-beta7",
        "Microsoft.Framework.Logging.Debug" : "1.0.0-beta7",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7"
      },
    
      "commands": {
        "web": "Microsoft.AspNet.Hosting --config hosting.ini",
        "ef": "EntityFramework.Commands"
      },
    
      "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
      },
    
      "exclude": [
        "wwwroot",
        "node_modules",
        "bower_components"
      ],
      "publishExclude": [
        "node_modules",
        "bower_components",
        "**.xproj",
        "**.user",
        "**.vspscc"
      ],
      "scripts": {
        "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
      }
    }
    
    在撰写本文时,您可以在这里下载。确保获得文件WebToolsExtensionsVS14.msi


    查找有关此Beta 7版本的更多信息,请参阅博文

    我已尝试添加这两个版本,但仍然无效。同样的错误。稳定NuGet提要中的最新dnx运行时是
    1.0.0-beta5
    ,但是您在
    global.json
    中引用了夜间构建
    1.0.0-beta5-12103
    。也许更改sdk版本
    1.0.0-beta5
    会有所帮助
     services.AddCaching();
     services.AddSession();
     services.ConfigureSession(o => {    o.IdleTimeout = TimeSpan.FromSeconds(10); });
    
    {
      "webroot": "wwwroot",
      "userSecretsId": "aspnet5-WebApplication1-a433a0ef-3bed-4bc9-8086-8d18070fa2c1",
      "version": "1.0.0-*",
    
      "dependencies": {
        "EntityFramework.Commands": "7.0.0-beta7",
        "EntityFramework.SqlServer": "7.0.0-beta7",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta7",
        "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7",
        "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7",
        "Microsoft.AspNet.Mvc": "6.0.0-beta7",
        "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7",
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta7",
        "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.Json": "1.0.0-beta7",
        "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7",
        "Microsoft.Framework.Logging": "1.0.0-beta7",
        "Microsoft.Framework.Logging.Console": "1.0.0-beta7",
        "Microsoft.Framework.Logging.Debug" : "1.0.0-beta7",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7"
      },
    
      "commands": {
        "web": "Microsoft.AspNet.Hosting --config hosting.ini",
        "ef": "EntityFramework.Commands"
      },
    
      "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
      },
    
      "exclude": [
        "wwwroot",
        "node_modules",
        "bower_components"
      ],
      "publishExclude": [
        "node_modules",
        "bower_components",
        "**.xproj",
        "**.user",
        "**.vspscc"
      ],
      "scripts": {
        "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
      }
    }