C# Linux或Windows上的传统和当前dotnet核心版本支持?

C# Linux或Windows上的传统和当前dotnet核心版本支持?,c#,.net,visual-studio,.net-core,dotnet-cli,C#,.net,Visual Studio,.net Core,Dotnet Cli,我有两个dotnet核心项目。其中一个使用dotnet1.0(),另一个使用dotnet1.1.1。据我所知,我无法使用dotnet 1.1.1运行基于project.json&xproj的项目,也无法使用dotnet 1.0运行基于csproj的项目 我可以将遗留的dotnet核心项目迁移到csproj。但我正在寻找一个解决方案,我可以在Windows或Linux上同时处理这两个项目 我在VisualStudio中编译项目时检查了使用docker,但找不到足够的资源 谢谢。基于csproj的工

我有两个dotnet核心项目。其中一个使用
dotnet1.0
(),另一个使用
dotnet1.1.1
。据我所知,我无法使用dotnet 1.1.1运行基于
project.json&xproj
的项目,也无法使用dotnet 1.0运行基于
csproj
的项目

我可以将遗留的dotnet核心项目迁移到csproj。但我正在寻找一个解决方案,我可以在Windows或Linux上同时处理这两个项目

我在VisualStudio中编译项目时检查了使用docker,但找不到足够的资源


谢谢。

基于csproj的工具可与
.NET Core 1.0
1.1
一起使用。还有一个工具preview2(project.json/xproj)构建,它具有
.NET Core 1.1
支持(
1.0.0-preview2-1-003177


关键是工具的版本控制目前独立于.net核心运行时的版本,尽管即将发布的2.0版本将仅为csproj,运行时和工具都有
2.0
版本

基于csproj的工具可与
.NET Core 1.0
1.1
一起使用。还有一个工具preview2(project.json/xproj)构建,它具有
.NET Core 1.1
支持(
1.0.0-preview2-1-003177


关键是工具的版本控制目前独立于.net核心运行时的版本,尽管即将发布的2.0版本将仅为csproj,运行时和工具都有
2.0
版本

首先,您似乎混淆了.Net Core版本和.Net Core SDK版本

.Net Core的版本(例如1.0.4或1.1.1)与project.json和csproj之间的差异没有直接关系。这是运行时本身的版本。只需编辑项目文件,就可以在同一台计算机上轻松切换.Net Core的不同版本

.Net核心SDK的版本(例如Preview 2 build 3131或1.0.3)决定了您可以使用何种项目格式。SDK预览2仅支持project.json,SDK 1.0.x仅支持csproj。您可以在同一台计算机上安装多个版本的SDK,从而同时支持两种项目格式。但是,如果您想这样做,您需要为使用的每个项目指定SDK的版本

至于Visual Studio,VS 2015只支持project.json,VS 2017只支持csproj(但应该能够迁移project.json项目)


尽管如此,我看不出有任何理由继续使用project.json,.Net Core SDK 1.0.x,它支持csproj,在Linux和Windows上都可以正常工作。

首先,您似乎混淆了.Net Core版本和.Net Core SDK版本

.Net Core的版本(例如1.0.4或1.1.1)与project.json和csproj之间的差异没有直接关系。这是运行时本身的版本。只需编辑项目文件,就可以在同一台计算机上轻松切换.Net Core的不同版本

.Net核心SDK的版本(例如Preview 2 build 3131或1.0.3)决定了您可以使用何种项目格式。SDK预览2仅支持project.json,SDK 1.0.x仅支持csproj。您可以在同一台计算机上安装多个版本的SDK,从而同时支持两种项目格式。但是,如果您想这样做,您需要为使用的每个项目指定SDK的版本

至于Visual Studio,VS 2015只支持project.json,VS 2017只支持csproj(但应该能够迁移project.json项目)


话虽如此,我看不出有任何理由继续使用project.json,.Net Core SDK 1.0.x,它支持csproj,在Linux和Windows上都可以正常工作。

所以我们很清楚:如果同时使用dotnet 1.1(即“当前”)和cproj,会发生什么?这应该是默认的做法,所以:为什么你不能这样做?(我想如果需要的话,可以使用1.1.1)所有版本的.NETCore都可以在Windows和Linux上运行。是什么阻止您在任何地方使用最新版本的.Net Core?我们很清楚:如果您同时使用dotnet 1.1(即“当前”)和cproj,会发生什么?这应该是默认的做法,所以:为什么你不能这样做?(我想如果需要的话,可以使用1.1.1)所有版本的.NETCore都可以在Windows和Linux上运行。是什么阻止了您到处使用最新版本的.Net Core?感谢您的回答,尽管我的dotnet cli版本是
1.0.3
,而dotnet Core版本是
1.1.0
,但我不能在带有
xsproj
project.json
的项目中使用
dotnet restore
,错误是
错误MSB4019
,当我检查Github问题时,无法修复该问题。然而,
dotnetrestore
对于我的另一个项目非常有用,它有一个
csproj
。这与我的问题无关,但我无法在VS2017中打开我的遗留项目,也无法在VS2015中打开我的更新项目。dotnet cli和core的确切版本应该是什么才能运行它们而不会出错?支持的工具版本(!)是1.0+(当前为1.0.3),这是VS 2017的一部分。VS 2015(和1.0.0-preview*)不再受支持。感谢您的回答,尽管我的dotnet cli版本是
1.0.3
,而dotnet核心版本是
1.1.0
,但我不能在带有
xsproj
project.json
的项目中使用
dotnet restore
,错误是
错误MSB4019
,当我检查Github问题时,无法修复该问题。然而,
dotnetrestore
对于我的另一个项目非常有用,它有一个
csproj
。这与我的问题无关,但我无法在VS2017中打开我的遗留项目,也无法在VS2015中打开我的更新项目。确切的版本应该是什么