dotnet-vs 1.2.0
dotnet tool install --global dotnet-vs --version 1.2.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-vs --version 1.2.0
#tool dotnet:?package=dotnet-vs&version=1.2.0
nuke :add-package dotnet-vs --version 1.2.0
dotnet-vs
一个全局工具,用于运行、管理和查询 Visual Studio 安装
安装或更新(两者使用相同命令)
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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | test | testagent |
filter |
过滤 VS 实例的表达式。例如 x => x.InstanceId = '123' |
添加 |
一个工作负载ID |
您可以使用支持的工作负载开关,使用+
前缀添加特定的工作负载ID。
请参阅Visual Studio安装程序命令行选项文档,了解可以提供的完整参数列表。
常见选项包括--passive
、quiet
和--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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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 | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | test | testagent |
filter |
过滤 VS 实例的表达式。例如 x => x.InstanceId = '123' |
first |
更新第一个匹配的实例。 |
所有 |
更新所有实例。 |
位置
查找满足请求要求的Visual Studio已安装版本,可选项是从中检索安装属性。
Usage: vs where [options]
选项 | 描述 |
---|---|
rel | release |
显示发布版本 |
pre | preview |
显示预览版本 |
int | internal |
显示内部版本(即“内部测试”版本) |
sku |
版本,以下之一:e | ent | enterprise ,p | pro | professional ,c | com | community ,b | build | buildtools 或 t | 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:enterprise
或 vs +mobile
(运行安装了移动工作负载的 VS)。例如,modify 命令使用 +
和 -
前缀来分别添加或删除工作负载。
赞助商
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.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 兼容. |
此包无依赖项。
版本 | 下载 | 最后更新 |
---|---|---|
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 |