You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于NuGet还原命令执行位置及projects.json包还原的问询

包还原命令的执行位置与project.json包安装指南

我来帮你理清这些问题,刚好我对这类旧.NET Core项目的包管理比较熟悉:

一、各种包还原命令的执行位置

不同工具的执行场景和路径要求略有区别,分情况说:

  • Visual Studio 操作:不用纠结路径,直接打开你的项目/解决方案就行。VS默认会自动尝试还原缺失的包,如果没自动触发,右键点击解决方案,选择「还原NuGet包」就能搞定,它会自动识别项目的路径。
  • nuget restore 命令
    • 可以在系统终端/命令提示符里用:先cd到你的解决方案根文件夹(就是放.sln文件的那个文件夹),然后直接输nuget restore;也可以直接指定项目/解决方案的绝对路径,比如nuget restore D:\MyProjects\MyApp.sln
    • 也能在Visual Studio的包管理器控制台里用:打开「工具→NuGet包管理器→包管理器控制台」,这里默认路径就是当前打开的解决方案路径,直接敲命令就行。
  • dotnet restore 命令
    • 终端里用的话,要cd到你的项目文件夹(就是包含project.json的那个文件夹),然后执行dotnet restore;同样可以指定路径,比如dotnet restore D:\MyProjects\MyApp\src\MyProject
    • 包管理器控制台里也能执行这个命令,不过要注意你的环境装了对应版本的.NET Core SDK(毕竟project.json是1.x时代的配置)。
  • Mono 上的xbuild:在Mono的终端里,切换到解决方案或项目所在文件夹,执行xbuild /t:Restore就会自动处理包还原了。

二、通过project.json安装包的方法

你的项目用的是旧版.NET Core的project.json配置,安装包主要有两种方式:

  1. 手动编辑project.json
    打开你的project.json文件,找到dependencies节点,按照"包名": "版本号"的格式添加需要的包,比如:
    "dependencies": {
      "Microsoft.AspNetCore.Http": "1.1.2",
      "Newtonsoft.Json": "10.0.3"
    }
    
    保存文件后,要么执行dotnet restore/nuget restore,要么在VS里触发还原,包就会自动下载安装到项目里。
  2. 用命令行工具安装
    • 用NuGet CLI:在终端cd到项目文件夹,执行nuget install 包名 -Version 版本号,比如nuget install Newtonsoft.Json -Version 10.0.3,执行后project.json的dependencies会自动更新,包也会被下载。
    • 用dotnet CLI(如果你的SDK支持的话):同样在项目文件夹下执行dotnet add package 包名 --version 版本号,比如dotnet add package Microsoft.AspNetCore.Http --version 1.1.2,这个命令会直接修改project.json并触发还原。

另外提一句:如果克隆的项目没有NuGet.Config文件,NuGet会默认用官方包源,一般没问题;如果项目需要私有包源,你可以自己在项目根目录创建这个文件并配置源信息。

内容的提问来源于stack exchange,提问作者serge

火山引擎 最新活动