使用.NET 461进行.NET Core运行时/ sdk版本控制?

时间:2017-03-23 23:14:46

标签: asp.net .net iis asp.net-core

我对.NET Core的SDK和运行时版本越来越感到困惑,我怀疑我是唯一一个。我想直接了解一些事情。

我创建了一个面向.NET 4.6.1的ASP.NET核心应用程序 - 它可以访问4.6.1库和Net Standard库。最近我作为VS2017推出的一部分从project.json切换到csproj。几周前,1.1.1运行时出现了SDK 1.0.1,我下载了https://github.com/dotnet/core/blob/master/release-notes/download-archive.md)。

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

然而,输入" dotnet"进入cmd我看到"版本:1.1.0"。不应该这样说1.1.1吗?我的程序和功能显示已安装1.1.1运行时。

快速托管我的应用程序:我根据https://docs.microsoft.com/en-us/aspnet/core/publishing/iis安装最新的Windows服务器托管软件包以在IIS上托管,即1.0.4和1.1.1。在我的服务器上安装它将安装" Microsoft .NET Core 1.0.4& 1.1.1 - Windows Server Hosting"和#34; Microsoft .NET Core 1.0.4 - 运行时"。难道它还没有安装1.1.1运行时吗?它有效,所以也许没有必要。

最终,我的问题如下:

  1. 完全针对.NET 4.6.1时运行时版本是否重要?
  2. 运行时是否只是用于运行IIS的AspNetCoreModule来进行反向代理?
  3. 安装新的Windows主机套件会破坏服务器上已经运行的现有项目吗?
  4. .Net的netstandard包(例如MVC)版本控制是否与运行时版本相对应,还是只是常规的语义版本控制?最新版本的大多数" Microsoft.AspNetCore.X"包是1.1.1。

1 个答案:

答案 0 :(得分:1)

我处于同样的情况,根据完整的.NET Framework(在我的情况下为4.5.2)编译我的ASP.NET核心应用程序并在IIS上部署它。希望我能提供帮助。

使用完整的.NET框架时,需要在开发者计算机上安装SDK进行编译,但要将其部署在IIS服务器上,根本不需要安装任何.NET Core运行时。在我的IIS服务器上,我只需要安装.NET Framework,然后按照此处的建议安装“Windows Server Hosting”:https://github.com/dotnet/core/blob/master/release-notes/download-archives/1.0.4-download.md,命令行甚至不能在我的服务器上安装任何.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),我的应用程序运行正常。

所以,我会说:

  1. 不,没关系,它不会针对任何.NET Core运行时运行
  2. 不,AspNetCore.dll是一个C ++模块(https://github.com/aspnet/AspNetCoreModule
  3. 我看不出它会破坏什么
  4. 目前,当您在ASP.NET Core应用程序中添加Nuget包时,其版本化似乎与我无关,这就是为什么Microsoft现在提供元数据包来帮助人们使用正确的Nuget包({{3 }})
  5. 关于:

      

    但是,在cmd中输入“dotnet”我看到“版本:1.1.0”。不能   这说1.1.1?我的程序和功能显示了1.1.1运行时   已安装。

    我想知道同样的事情并且无法弄清楚它来自哪里,也许它只是“dotnet”命令行工具的版本,它是SDK 1.0.1的包,但我不能证明这一点。

相关问题