dotnet-vs 1.2.0

dotnet tool install --global dotnet-vs --version 1.2.0                
此包包含一个可以从外壳/命令行调用的 .NET 工具
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-vs --version 1.2.0                
此包包含一个可以从外壳/命令行调用的 .NET 工具
#tool dotnet:?package=dotnet-vs&version=1.2.0                
nuke :add-package dotnet-vs --version 1.2.0                

图标 dotnet-vs

一个全局工具,用于运行、管理和查询 Visual Studio 安装

Version Downloads License CI Status CI Version

安装或更新(两者使用相同命令)

dotnet tool update -g dotnet-vs

获取 CI 版本

dotnet tool update -g dotnet-vs --no-cache --add-source https://pkg.kzu.io/index.json

命令行解析使用 Mono.Options 完成,因此支持以下所有参数变体: -flag--flag/flag-flag=value--flag=value/flag=value-flag:value--flag:value/flag:value-flag value--flag value/flag value

支持命令

别名

显示已保存别名的列表

Usage: vs alias [options]

所有内置命令都支持 -save:[alias] 选项,这将使该命令以该别命名保存。从那时起,只需运行该别名即可运行命令(包括所有已保存参数),而不需要运行命令本身。

示例

# Save the first VS enterprise with the Xamarin/Mobile workload as the "mobile" alias
> vs -sku:ent -first +mobile -save:mobile

# Runs the saved alias with all the original arguments
> vs mobile

客户端

在客户端模式下启动 Visual Studio

Usage: vs client [options]
选项 描述
rel | release 运行发布版本
pre | preview 运行预览版本
int | internal 运行内部版本(也称为“dogfood”)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 运行第一个匹配的实例
exp | experimental 运行实验性实例而不是常规版本
w | workspaceId 要连接的工作区 ID

config

打开配置文件夹。

Usage: vs config [options]
选项 描述
rel | release 打开发布版本
pre | preview 打开预览版本
int | internal 打开内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 打开第一个匹配的实例。
exp | experimental 打开实验性实例而不是常规版本。

安装

安装特定版本的Visual Studio。

Usage: vs install [options]
选项 描述
rel | release 安装发布版本
pre | preview 安装预览版本
int | internal 安装内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
添加 一个工作负载ID

您可以使用支持的工作负载开关,使用+前缀添加特定的工作负载ID。

请参阅Visual Studio安装程序命令行选项文档,了解可以提供的完整参数列表。

常见选项包括--passivequiet--wait等。

示例

# Installs VS enterprise with the Maui/Mobile workload
# Note the -sku: switch/prefix is optional
> vs install Enterprise +mobile

# Install VS community with the .NET Core, ASP.NET and Azure workloads, 
# shows installation progress and waits for it to finish before returning
> vs install +core +web +azure

终止

终止正在运行devenv进程。

Usage: vs kill [options]
选项 描述
rel | release 终止发布版本
pre | preview 终止预览版本
int | internal 终止内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
exp | experimental 终止实验性实例而不是常规版本。
first 终止第一个匹配的实例。
所有 终止所有实例。

示例

# Kill all running instances of Visual Studio
> vs kill all

日志

打开包含Activity.log文件的文件夹。

Usage: vs log [options]
选项 描述
rel | release 打开发布版本
pre | preview 打开预览版本
int | internal 打开内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 打开第一个匹配的实例。
exp | experimental 打开实验性实例而不是常规版本。

修改

修改Visual Studio的安装。

Usage: vs modify [options]
选项 描述
rel | release 修改发布版本
pre | preview 修改预览版本
int | internal 修改内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 修改第一个匹配的实例。
添加 一个工作负载ID
删除 一个工作负载ID

通过支持的工作负载ID开关/别名,可以使用简写表示法add|remove [workload ID],使用+(对应于add)和-(对应于remove)前缀。

示例

# Add .NET Core Workload to installed Visual Studio Preview
> vs modify preview +core

运行

这是默认命令,因此通常不需要作为参数提供。

Usage: vs run [options]
选项 描述
rel | release 运行发布版本
pre | preview 运行预览版本
int | internal 运行内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
exp | experimental 运行实验性实例而不是常规版本。
id 通过ID运行特定实例
f\|first 如果有多个匹配实例,按降序版本运行第一个。
v\|version 运行特定的(语义)版本,例如16.4或16.5.3。
w\|wait 等待启动的Visual Studio退出。
nr\|nodereuse 禁用MSBuild节点重用。当测试分析程序、任务和目标时很有用。默认情况下,在运行实验性实例时为true。
默认 在没有提供参数时设置默认运行版本,或删除当前默认版本(使用--default-)。
需要 一个工作负载ID

所有工作负载开关都可用,也可以通过使用+前缀/别名语法来过滤要运行的实例,包括使用+前缀(见下文)。

此命令将记住最后定位和运行的VS。因此,下次只需使用vs即可运行同一实例(因为run是默认命令,可以省略)。

示例

# Runs the first VS enterprise with the Maui workload
> vs -sku:ent -first +maui

# Runs VS 16.8
> vs -v:16.8

# Runs VS 16.9 preview
> vs -v:16.9 -pre

# Runs the last VS that was run
> vs

更新

更新Visual Studio的安装。

Usage: vs update [options]
选项 描述
rel | release 更新发布版本
pre | preview 更新预览版本
int | internal 更新内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 更新第一个匹配的实例。
所有 更新所有实例。

位置

查找满足请求要求的Visual Studio已安装版本,可选项是从中检索安装属性。

Usage: vs where [options]
选项 描述
rel | release 显示发布版本
pre | preview 显示预览版本
int | internal 显示内部版本(即“内部测试”版本)
sku 版本,以下之一:e | ent | enterprisep | pro | professionalc | com | communityb | build | buildtoolst | test | testagent
filter 过滤 VS 实例的表达式。例如 x => x.InstanceId = '123'
first 显示第一个匹配的实例。
prop\|property 要返回的属性名称
列表 以列表形式显示结果
需要 一个工作负载ID

支持与vswhere.exe相同的选项

  -all           Finds all instances even if they are incomplete and may not launch.
  -prerelease    Also searches prereleases. By default, only releases are searched.
  -products arg  One or more product IDs to find. Defaults to Community, Professional, and Enterprise.
                 Specify "*" by itself to search all product instances installed.
                 See https://aka.ms/vs/workloads for a list of product IDs.
  -requires arg  One or more workload or component IDs required when finding instances.
                 All specified IDs must be installed unless -requiresAny is specified.
                 See https://aka.ms/vs/workloads for a list of workload and component IDs.
  -requiresAny   Find instances with any one or more workload or components IDs passed to -requires.
  -version arg   A version range for instances to find. Example: [15.0,16.0) will find versions 15.*.
  -latest        Return only the newest version and last installed.
  -sort          Sorts the instances from newest version and last installed to oldest.
                 When used with "find", first instances are sorted then files are sorted lexigraphically.
  -legacy        Also searches Visual Studio 2015 and older products. Information is limited.
                 This option cannot be used with either -products or -requires.
  -format arg    Return information about instances found in a format described below.
  -property arg  The name of a property to return. Defaults to "value" format.
                 Use delimiters ".", "/", or "_" to separate object and property names.
                 Example: "properties.nickname" will return the "nickname" property under "properties".
  -include arg   One or more extra properties to include, as described below.
  -find arg      Returns matching file paths under the installation path. Defaults to "value" format.
                 The following patterns are supported:
                 ?  Matches any one character except "\".
                 *  Matches zero or more characters except "\".
                 ** Searches the current directory and subdirectories for the remaining search pattern.
  -nologo        Do not show logo information. Some formats noted below will not show a logo anyway.
  -utf8          Use UTF-8 encoding (recommended for JSON).
  -?, -h, -help  Display this help message.


Extra properties:
  packages       Return an array of packages installed in this instance.
                 Supported only by the "json" and "xml" formats.

Formats:
  json           An array of JSON objects for each instance (no logo).
  text           Colon-delimited properties in separate blocks for each instance (default).
  value          A single property specified by the -property parameter (no logo).
  xml            An XML data set containing instances (no logo).

通过支持的工作负载ID,可以提供简写表示法-requires [workload ID],使用+前缀(见下文)。

另请参阅GitHub上的vswhere

工作负载ID开关

对于接收工作负载ID转换的命令(例如,vs where -requires [WORKLOAD_ID]vs install --add [WORKLOAD_ID]),以下别名可用:

别名 工作负载ID
mobile Microsoft.VisualStudio.Workload.NetCrossPlat
xamarin Microsoft.VisualStudio.Workload.NetCrossPlat
maui Microsoft.VisualStudio.Workload.NetCrossPlat
core Microsoft.NetCore.Component.DevelopmentTools
azure Microsoft.VisualStudio.Workload.Azure
data Microsoft.VisualStudio.Workload.Data
desktop Microsoft.VisualStudio.Workload.ManagedDesktop
unity Microsoft.VisualStudio.Workload.ManagedGame
native Microsoft.VisualStudio.Workload.NativeDesktop
web Microsoft.VisualStudio.Workload.NetWeb
node Microsoft.VisualStudio.Workload.Node
office Microsoft.VisualStudio.Workload.Office
py Microsoft.VisualStudio.Workload.Python
python Microsoft.VisualStudio.Workload.Python
uwp Microsoft.VisualStudio.Workload.Universal
vsx Microsoft.VisualStudio.Workload.VisualStudioExtension

别名会自动转换到适当的转换,例如,转换到 -requires [ID]--add [ID]。另外,根据正在运行的命令,别名可能会使用一个 + 前缀(如 +mobile),这可能使命令行更直观,例如 vs install +mobile -sku:enterprisevs +mobile(运行安装了移动工作负载的 VS)。例如,modify 命令使用 +- 前缀来分别添加或删除工作负载。

赞助商

Clarius Org Christian Findlay C. Augusto Proiete Kirill Osenkov MFB Technologies, Inc. Amazon Web Services SandRock David Pallmann

赞助此项目  

了解有关GitHub Sponsors的更多信息

产品 兼容的和额外的计算目标框架版本。
.NET net5.0 已计算.  net5.0-windows 已计算.  net6.0 兼容.  net6.0-android 已计算.  net6.0-ios 已计算.  net6.0-maccatalyst 已计算.  net6.0-macos 已计算.  net6.0-tvos 已计算.  net6.0-windows 已计算.  net7.0 已计算.  net7.0-android 已计算.  net7.0-ios 已计算.  net7.0-maccatalyst 已计算.  net7.0-macos 已计算.  net7.0-tvos 已计算.  net7.0-windows 已计算.  net8.0 已计算.  net8.0-android 已计算.  net8.0-browser 已计算.  net8.0-ios 已计算.  net8.0-maccatalyst 已计算.  net8.0-macos 已计算.  net8.0-tvos 已计算.  net8.0-windows 已计算. 
.NET Core netcoreapp3.1 兼容. 
兼容目标框架
包含的目标框架(包内)
了解更多关于 目标框架.NET Standard

此包无依赖项。

版本 下载 最后更新
1.2.0 59,964 8/18/2022
1.1.1 5,069 11/5/2021
1.1.0 5,195 8/10/2021
1.0.0 2,184 2/1/2021
0.9.4 1,718 1/4/2021
0.9.3 1,728 12/21/2020
0.9.2 1,512 12/9/2020
0.9.1 1,450 12/9/2020
0.9.0 1,542 12/8/2020
0.3.89 1,665 11/20/2020
0.3.88 1,379 11/20/2020
0.3.87 1,993 11/4/2020
0.3.86 1,335 10/29/2020
0.3.85 1,517 10/24/2020
0.3.83 1,587 10/9/2020
0.3.82 1,517 9/30/2020
0.3.81 1,678 9/30/2020
0.3.80 1,640 9/22/2020
0.3.79 1,522 9/22/2020
0.3.77 1,294 8/24/2020
0.3.76 1,527 8/21/2020
0.3.75 1,262 8/21/2020
0.3.74 1,156 8/18/2020
0.3.73 1,359 6/11/2020
0.3.72 1,403 6/9/2020
0.3.68 1,365 5/27/2020
0.3.67 1,256 5/22/2020
0.3.66 1,318 5/11/2020
0.3.63 1,377 5/6/2020
0.3.57 1,585 5/5/2020
0.3.55 1,357 5/3/2020
0.3.54 1,456 5/3/2020
0.3.53 1,349 5/3/2020
0.3.52 1,402 5/3/2020
0.3.51 1,477 5/3/2020
0.3.50 1,426 5/2/2020
0.3.49 1,603 5/2/2020
0.3.48 1,464 5/2/2020
0.3.47 1,448 5/2/2020
0.3.46 1,358 5/2/2020
0.3.45 1,414 5/2/2020
0.3.44 1,517 5/2/2020
0.3.43 1,488 5/1/2020
0.3.40 1,423 4/29/2020
0.3.37 1,622 4/29/2020
0.3.36 1,592 4/28/2020
0.3.35 1,682 4/28/2020
0.3.34 1,596 4/27/2020
0.3.33 1,725 4/27/2020
0.3.32 1,439 4/27/2020
0.3.30 1,551 4/27/2020
0.3.12 1,421 4/23/2020
0.3.7 1,569 4/16/2020
0.3.5 1,589 2/22/2020