【问题标题】:How to restore an ASP.NET Core project with Ubuntu如何使用 Ubuntu 恢复 ASP.NET Core 项目
【发布时间】:2017-02-17 13:48:46
【问题描述】:

最近,我在 Windows 上使用 Visual Studio Code 创建了一个 asp.net 核心项目,并将其推送到 GitHub。当我从 GitHub 克隆存储库并尝试在 Ubuntu 上对项目进行 dotnet 恢复时,返回了一条错误消息,指出没有 project.json 文件。任何人都可以向我指出一个资源,它将向我展示如何从 Linux 机器正确恢复 .net 核心项目?谢谢!

【问题讨论】:

  • 是否有 project.json 文件?似乎在您的问题中省略了非常重要的细节。有 csproj 文件吗?
  • 在 Windows 机器上创建项目时,会创建一个 csproj 文件。使用 Linux 创建项目时,会创建一个 project.json 文件。由于我是在 Windows 环境中创建项目的,所以我尝试运行的项目有一个 csproj 文件。
  • 那么您可能需要将您的工具更新到 Linux 机器上的最新版本。如果您要使用 ASP.NET Core 等快速变化的软件,请确保您pay attention to the changes

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


【解决方案1】:

因此,您的每台机器上似乎都在运行不同版本的 .net 核心 SDK。

对您正在尝试做的事情有一个很大的警告。您是否尝试在 Linux 上使用来自 Jetbrains 的 Project Rider?这仅适用于 project.json(截至本文发布时),因此请注意这一点。

现在有两种方法可以做到这一点。如果您想要 Linux 上的最新版本并且不关心使用 Rider,那么您可以转到此处:https://github.com/dotnet/core/blob/master/release-notes/download-archive.md 并下载适用于 Linux 和 Windows 的最新版本,并在两者上安装,您应该很高兴。

如果您确实关心使用 Rider,或者您还没有准备好接受最新版本的狂野骑行。然后,您可以执行以下操作。

通过在终端中输入以下内容来查找您在 linux 上使用的 SDK 版本:

dotnet --version

这将显示你在 linux 上的版本。去这里下载相同版本的 windows 并将其安装在你的 windows 机器上 (https://github.com/dotnet/core/blob/master/release-notes/download-archive.md)。

现在,在您创建项目之前,请创建一个解决方案文件夹并在其中创建一个名为 global.json 的文件。里面放了以下内容:

"sdk": {
    "version": "1.0.0-preview2-003131"
}

SDK 版本与您从 linux 终端获得的版本相匹配。现在在解决方案文件夹中为您的项目创建一个文件夹。运行“dotnet new -t web”或类似的命令来创建您的项目。它将检查 global.json 的 SDK 版本并使用匹配的工具创建一个项目。然后,您应该能够在任何安装了相同 SDK 的机器上转移这个项目,即使它也有最新的 SDK。

如果您不创建 global.json,则默认为最新版本(Windows 上的至少)。

在这里阅读更多信息:http://dotnetcoretutorials.com/2017/02/17/developing-two-versions-net-core-sdk-side-side/

【讨论】:

  • 很好的答案!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-20
  • 2018-09-04
  • 2021-06-06
  • 2013-03-02
  • 2012-05-25
相关资源
最近更新 更多