Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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# 在dotnet核心SDK版本之间切换_C#_Asp.net Core_.net Core - Fatal编程技术网

C# 在dotnet核心SDK版本之间切换

C# 在dotnet核心SDK版本之间切换,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我最近安装了VS 2017 RC,然后自动将我的dotnet版本指向1.0.0-preview4-004233。因此,每当我使用命令dotnet new-t Console创建一个新项目时,我无法看到project.json,尽管我看到了.csproj文件 当我在-C:\Program Files\dotnet\sdk检查计算机上可用的dotnet版本时,我看到了多个可用版本 有没有办法将dotnet core从1.0.0-preview4-004233切换回早期版本-1.0.0-preview

我最近安装了VS 2017 RC,然后自动将我的dotnet版本指向
1.0.0-preview4-004233
。因此,每当我使用命令
dotnet new-t Console
创建一个新项目时,我无法看到
project.json
,尽管我看到了
.csproj
文件

当我在-
C:\Program Files\dotnet\sdk
检查计算机上可用的dotnet版本时,我看到了多个可用版本


有没有办法将dotnet core从
1.0.0-preview4-004233
切换回早期版本-
1.0.0-preview2-003133
,而无需卸载。

您可以使用项目根目录中的
global.json
文件执行此操作:

  • 验证计算机上的SDK列表:
你会看到这样的列表

2.1.100 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.103 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
[...lines omitted...]
2.1.601 [C:\Program Files\dotnet\sdk]
2.2.101 [C:\Program Files\dotnet\sdk]
3.0.100-preview3-010431 [C:\Program Files\dotnet\sdk]
  • 创建一个文件夹作为项目的根目录,您将在其中运行
    dotnet new
  • 在该文件夹中,运行以下命令:
    dotnet new globaljson
结果如下所示:

{
  "sdk": {
    "version": "3.0.100-preview3-010431"
  }
}
  • version
    中,将
    3.0.100-preview3-010431
    替换为
    --列出SDK
    列表中您喜欢的版本。例如:
  • 运行
    dotnet--version
    进行验证。你应该看到:
  • 运行相应的
    dotnet new
    命令来创建项目

    • Dotnet通常使用最新的SDK版本,除非它找到一个global.json文件,告诉它不要这样做。

      dotnet在工作目录(不一定是项目或解决方案目录)中查找文件,如果找不到,则从那里开始向上搜索。

      创建global.json文件的一种简单方法是在项目目录中运行
      dotnet new globaljson--sdk version 1.0.0-preview2-003133

      您可以签入global.json

      运行命令 dotnet--列出SDK

      您将看到结果

      2.2.110[C:\Program Files\dotnet\sdk]
      5.0.103[C:\Program Files\dotnet\sdk]

      VS2017 CE
      上安装dot net core时遇到问题:VS在选择工作负载时将安装最新的dot net core版本(撰写此评论时为v2)。我也安装了.NETCoreV1.0.4(一个项目需要它),但VS根本不认识它。使用这种方法解决了这个问题。我有一个多项目的解决方案。我已经尝试将这个global.json添加到解决方案文件夹和web api项目文件夹中,以强制执行2.1.403,但是这个项目一直在发布2.1.5版本-知道我做错了什么吗?@Darren你能运行
      dotnet--list SDK
      来验证你的系统上是否有2.1.403 SDK吗?有没有办法为整个系统切换dotnet SDK的版本?所以所有的解决方案默认都会使用这个版本?这个答案是一个救星。在尝试构建NopCommerce插件时遇到了几天的麻烦,最终发现.net core 3以微妙的方式破坏了构建行为,出于某种原因,它默认用于构建
      netcoreapp2.1
      应用程序。修复程序在
      global.json
      中将dotnet版本修复为2.1。谢谢!可以切换dotnet核心版本,包括sdk
      {
        "sdk": {
          "version": "3.0.100-preview3-010431"
        }
      }
      
      {
        "sdk": {
          "version": "2.2.101"
        }
      }
      
      2.2.101