Asp.net 使用.NET 461进行.NET核心运行时/sdk版本控制?

Asp.net 使用.NET 461进行.NET核心运行时/sdk版本控制?,asp.net,.net,iis,asp.net-core,Asp.net,.net,Iis,Asp.net Core,我越来越困惑于.NETCore的SDK和运行时版本控制,我怀疑我是唯一一个。我想把一些事情弄清楚 我已经创建了一个以.NET 4.6.1为目标的ASP.NET核心应用程序,它可以访问4.6.1库和NET标准库。最近,作为VS2017的一部分,我从project.json切换到了csproj。几周前,SDK 1.0.1发布了1.1.1运行时,我下载了它() dotnet--版本为我提供了正确的SDK(1.0.1) 然而,在cmd中键入“dotnet”我看到“Version:1.1.0”。这不应该是

我越来越困惑于.NETCore的SDK和运行时版本控制,我怀疑我是唯一一个。我想把一些事情弄清楚

我已经创建了一个以.NET 4.6.1为目标的ASP.NET核心应用程序,它可以访问4.6.1库和NET标准库。最近,作为VS2017的一部分,我从project.json切换到了csproj。几周前,SDK 1.0.1发布了1.1.1运行时,我下载了它()

dotnet--版本为我提供了正确的SDK(1.0.1)

然而,在cmd中键入“dotnet”我看到“Version:1.1.0”。这不应该是1.1.1吗?我的程序和功能显示安装了1.1.1运行时

快进到托管我的应用程序:我根据安装了最新的windows server托管软件包,以在IIS上托管,即1.0.4和1.1.1。在我的服务器上安装此程序将安装“Microsoft.NET Core 1.0.4和1.1.1-Windows server Hosting”和“Microsoft.NET Core 1.0.4-Runtime”。它不也应该安装1.1.1运行时吗?它是有效的,所以可能没有必要

最后,我的问题如下:

  • 以.NET 4.6.1为目标时,运行时版本是否重要
  • 运行时是否仅用于运行IIS到kestrel反向代理的AspNetCoreModule
  • 安装新的Windows主机包会破坏服务器上已经运行的现有项目吗
  • Net的netstandard包(如MVC)版本控制是否以任何方式与运行时版本相对应,还是只是常规的语义版本控制?大多数“Microsoft.AspNetCore.X”软件包的最新版本是1.1.1

  • 我也遇到了同样的情况,根据完整的.NET框架(我的例子是4.5.2)编译我的ASP.NET核心应用程序,并将其部署到IIS上。希望我能帮忙

    使用完整的.NET framework时,您需要在开发计算机上安装SDK进行编译,但要将其部署到IIS服务器上,根本不需要安装任何.NET核心运行时。在我的IIS服务器上,我只需要安装.NET Framework,然后按照此处的建议安装“Windows server Hosting”:使用一个甚至不会在我的服务器上安装任何.NET Core的命令行:

    DotNetCore.1.0.4_1.1.1-WindowsHosting.exe OPT_INSTALL_LTS_REDIST=0 OPT_INSTALL_FTS_REDIST=0
    
    此安装非常快速,仅部署IIS运行.NET Core应用程序所需的最小文件量,主要是aspnetcore.dll。我的服务器上甚至没有目录“C:\Program Files\dotnet”(因此没有运行时或sdk),我的应用程序运行良好

    因此,我想说:

  • 不,没关系,它不会在任何.NET核心运行时上运行
  • 不,AspNetCore.dll是C++模块()
  • 我看不出它怎么会打破任何东西
  • 目前,当您在ASP.NET Core应用程序中添加Nuget软件包时,它的版本设置对我来说似乎非常独立,这就是为什么Microsoft现在提供metapackage来帮助人们使用正确的Nuget软件包()
  • 关于:

    然而,在cmd中键入“dotnet”我看到“Version:1.1.0”。不应该 这是说1.1.1?我的程序和功能显示1.1.1运行时 已安装


    我也在想同样的事情,不知道这是从哪里来的,可能只是SDK 1.0.1附带的“dotnet”命令行工具的版本,但我无法证明这一点。

    谢谢。这就清楚了很多。当我安装了两个WindowsHosting时,我确实遇到了一个应用程序无法运行的问题。最佳做法可能是在安装新版本时卸载以前的版本。