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
Visual studio 2015 Visual Studio dotnet命令行工具版本错误_Visual Studio 2015_Asp.net Core_Nuget Package Restore - Fatal编程技术网

Visual studio 2015 Visual Studio dotnet命令行工具版本错误

Visual studio 2015 Visual Studio dotnet命令行工具版本错误,visual-studio-2015,asp.net-core,nuget-package-restore,Visual Studio 2015,Asp.net Core,Nuget Package Restore,我遇到了dotnet命令行工具版本错误的问题。我刚刚从中卸载并重新安装了最新的.NET核心工具 然后我打开VS2015(更新3),点击帮助->关于Microsoft Visual Studio。在那里,我可以看到.NET核心工具的正确版本: Microsoft .NET Core Tools (Preview 2) 14.1.20624.0 但是,当我转到工具->NuGet Package Manager->Package Manager控制台并键入 dotnet --version 我明白

我遇到了dotnet命令行工具版本错误的问题。我刚刚从中卸载并重新安装了最新的.NET核心工具

然后我打开VS2015(更新3),点击帮助->关于Microsoft Visual Studio。在那里,我可以看到.NET核心工具的正确版本:

Microsoft .NET Core Tools (Preview 2) 14.1.20624.0
但是,当我转到工具->NuGet Package Manager->Package Manager控制台并键入

dotnet --version
我明白了:

1.0.0-preview1-002702
这是错误的。这应该是1.0.0-preview2-00300*(某物)

这是一个主要问题,因为我的nuget包现在都无法恢复。我收到大量“包Microsoft.Aspnetcore.Mvc1.0.0不支持framework.NETCoreApp,版本=v1.0”类型的错误,如下所示:


发生了什么事?如何使Package Manager控制台识别.NET Core工具是版本预览2,而不是预览1?

因为并行安装.NET Core的方式,多个版本可以在一台计算机上共存。因此,dotnet.exe(.NET Core命令行界面)解析的版本可能与最新安装版本的版本不同

首先,驱动程序将确定您使用的工具的版本 希望您可以在
global.json
文件中使用 sdkVersion属性。如果不可用,则驱动程序将找到 磁盘上安装并将使用的工具的最新版本 这个版本。一旦确定了版本,它将执行 指挥部


请检查您的项目文件夹中是否存在可以将sdkVersion显式定义为
1.0.0-preview1-002702
global.json
,并将其更改为
1.0.0-preview2-003121

我刚刚解决了从1.0.0到1.0的版本控制问题

您的project.json需要更改为新模板,例如

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0"
        },
        "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
        "Microsoft.AspNetCore.Mvc": "1.0.1",
        "Microsoft.AspNetCore.Routing": "1.0.1",
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
        "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0",
        "Microsoft.Extensions.Logging": "1.0.0",
        "Microsoft.Extensions.Logging.Console": "1.0.0",
        "Microsoft.Extensions.Logging.Debug": "1.0.0",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
      },
      "imports": "dnxcore50"
    }
  }
}
这是我从你那里得到的

只要安装了Core1.1SDK,在运行“dotnet.exe”命令时,它就应该选择正确的SDK来使用。出于兴趣,“dotnet.exe”命令似乎是“全局”的,因为它适用于多个版本。每个版本没有一个dotnet.exe。SDK安装布局显示,dotnet.exe位于

C:\ProgramFiles\dotnet

而SDK本身也处于领先地位

C:\Program Files\dotnet\sdk\1.0.0-preview2-1-003177 C:\Program Files\dotnet\sdk\1.0.0-preview2-003131

更改project.json后,需要执行以下操作

dotnet restore
然后你就可以做了

dotnet build
dotnet run

升级到最新的.NET核心SDK 1.0.3,但
dotnet.exe
仍在寻找
project.json
。您似乎需要删除
dotnet
SDK的任何预览版本,因为它们的优先级高于版本号

从添加/删除程序中卸载所有SDK预览(1.0.0-preview2-)后,
dotnet.exe
找到了最新安装的1.0.3 SDK

卸载.NET核心预览

关键是运行
dotnet--info
并验证产品信息=>Version属性。如果显示preview,则它没有使用最新的.NET Core SDK版本,并且在运行
dotnet build
dotnet run
时会出现类似错误:

在当前目录中找不到“project.json”


这取决于您所在的文件夹。'dotnet'搜索当前文件夹项目运行时版本,然后调用该特定版本。您以前卸载过preview 1工具吗?如果没有正确卸载旧工具,从dnx切换到dotnet cli时也会出现类似问题是的,只是再次尝试卸载所有工具。我的解决方案中没有global.json文件。我应该手动添加它吗?还有别的办法吗?