Linux 或 Windows 上的旧版和当前 dotnet 核心版本都支持吗?

Both legacy and current dotnet core version support on Linux or Windows?

我有两个 dotnet 核心项目。其中一个使用 dotnet 1.0 (Preview 2 build 3131 and 3133),其他使用 dotnet 1.1.1。据我所知,我不能 运行 基于 project.json & xproj 的 dotnet 1.1.1 项目,我也不能 运行 csproj 基于 dotnet 1.0 的项目。

我可以将遗留的 dotnet 核心项目迁移到 csproj。但我正在寻找一种解决方案,我可以在 Windows 或 Linux.

中处理这两个项目

我在 Visual Studio 中编译项目时使用 docker 检查过,但找不到任何足够的资源。

谢谢。

基于 csproj 的工具适用于 .NET Core 1.01.1。还有一个工具预览版 2(项目。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 Core SDK 的版本(例如 Preview 2 build 3131 或 1.0.3)决定了您可以使用的项目格式。 SDK Preview 2仅支持project.json,SDK 1.0.x仅支持csproj。您可以在同一台机器上安装多个版本的 SDK,从而同时支持两种项目格式。但是如果你想这样做,你需要使用 global.json.

为每个项目指定 SDK 的版本

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

话虽这么说,但我看不出有任何理由让您继续使用 project.json、.Net Core SDK 1.0.x,它支持 csproj,在 [=30] 上都可以正常工作=] 和 Windows.