65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.NET Core:将 ASP.NET Core 1.0 RC2 项目升级到 RTM

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2016年7月4日

CPOL

4分钟阅读

viewsIcon

15833

ASP.NET Core:将 ASP.NET Core 1.0 RC2 项目升级到 RTM

一个月前,我演示了如何将您的 ASP.NET 5 beta 项目迁移到 Core RC2。从 Beta 到 RC2 的迁移过程有点长,但基本上很容易遵循,而且我能够顺利运行我的原型应用程序,没有任何问题。最近,ASP.NET Core RTM 发布了。微软宣布了 ASP.NET Core 1.0 的发布,就在几天前。非常感谢微软和 .NET Core 团队在进行这次最终发布时所做的最大努力。干得好!

让我们开始吧!

在本文中,我们将介绍如何使用 Visual Studio 2015 在 Windows 环境中将我们现有的 ASP.NET Core RC2 应用程序升级到 RTM。

安装要求

安装 Visual Studio 2015 Update 3

注意:在安装 RTM 位(Update 3)之前,您可能需要卸载 RC2 位(Update 2)。

在安装 Visual Studio Update 3 (vs2015.3) 之前,您可能需要关闭计算机上运行的所有 Visual Studio 实例。现在,如果您收到以下设置警告

图 1:设置警告

不要惊慌。只需单击继续,它应该会将您带到下一步

图 2:功能

选择您希望包含在此更新中的功能,然后单击“下一步”。在下一步中验证您需要的所有功能,然后单击“更新”以开始应用更改。

您可能需要等待几分钟或几个小时,这取决于您的连接,直到升级完成。完成后,您应该能够看到下图

图 3:设置完成

安装后,请确保重新启动计算机以确保更新生效。

安装 .NET Core 1.0.0 VS Tooling Preview 2

现在安装您刚刚下载的 Tooling Preview 2。您应该会看到类似这样的安装进度

图 4:VS 2015 Tooling Preview 2 安装

安装完成后,您应该能够看到类似这样的内容

图 5:VS 2015 Tooling Preview 2 安装完成

升级到 RTM

在此演示中,我将使用我之前演示过的ASP.NET Core MVC 项目。现在让我们开始修改。

注意:您可能需要以管理员身份运行 Visual Studio,以确保 NuGet 包的还原能够顺利运行。

project.json 更改

升级的最快技巧是创建新项目,并将您现有的“project.json”文件与新项目进行比较。

查看新创建的 ASP.NET Core Web 应用程序项目,我们似乎只需要更改

  • Microsoft.NETCore.App 版本从 1.0.0-rc2-3002702 改为 1.0.0
  • 所有引用从 1.0.0-rc2-final 改为 1.0.0
  • 所有引用从 1.0.0-preview1-final 改为 1.0.0-preview2-final
  • 删除 tools 元素下的 imports 部分。因此,您的 tools 元素现在应该看起来像这样
"tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},

因此,快速查找和替换将很容易为您同步。

global.json 更改

您需要将 SDK 版本更新为 1.0.0-preview2-003121。因此,您的文件现在应该有这个

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

总结

这是我的 project.json 文件在修改后的样子

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "gcServer": true
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis 
     --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

输出

就是这样!与之前的版本不同,升级到 RTM 似乎是无痛的。这是我的 ASP.NET Core MVC 应用程序在升级后的输出

图 6:输出

如果您仍在使用 Beta 版本并希望将您的项目迁移到 RTM,那么我真的建议您创建一个新项目,并将您的代码移动到新创建的项目中。这样,您获得迁移配置错误的几率就会更小。

我知道在本文中我没有涵盖一些内容,因为我只是根据我的原型应用程序进行这次升级。有关重大更改的更多详细信息,我建议您访问以下参考资料

© . All rights reserved.