在 Visual Studio Code 中发布构建

Posted

技术标签:

【中文标题】在 Visual Studio Code 中发布构建【英文标题】:Release build in Visual Studio Code 【发布时间】:2017-12-17 12:09:56 【问题描述】:

在构建我的 C# 项目时,如何在 VS Code 中切换到发布配置?

现在我使用Ctrl+F5Debug -> Start Without Debugging 启动我的应用程序,这也构建了它,但这只会在bin/Debug 创建一个调试版本。 VS Code 中没有Build 菜单。

这是我的 tasks.json:


    "version": "2.0.0",
    "tasks": [
        
            "taskName": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "$workspaceFolder/dotnetcore-test.csproj"
            ],
            "problemMatcher": "$msCompile"
        
    ]

【问题讨论】:

【参考方案1】:

像这样编辑 task.json:


    "version": "2.0.0",
    "tasks": [
        
            "taskName": "build Debug",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "$workspaceFolder/dotnetcore-test.csproj"
            ],
            "problemMatcher": "$msCompile"
        ,
        
            "taskName": "build Release",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "$workspaceFolder/dotnetcore-test.csproj",
                "-c",
                "Release"
            ],
            "problemMatcher": "$msCompile"
                
    ]

那么当你按下Ctrl+Shift+B 时,Command Palette 会让你在Build ReleaseBuild Debug 之间进行选择

来源: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x

【讨论】:

我可以看到排列迅速失控。也许可以使用一些配置变量:***.com/questions/44303316/… 截至 2021 年 9 月 18 日,VS Code:1.60.0。我遇到了同样的问题,结果是我在两个配置中都没有"isBuildCommand": true,因此我收到了一个错误No build tasks defined。检查这个 - ***.com/a/69232604/4317232【参考方案2】:

您可以通过终端执行发布构建:

dotnet build -c release

如果要在发行版中运行,请使用:

dotnet run -c release

来源:https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build

【讨论】:

【参考方案3】:

你可以在没有 tasks.json 的情况下做到这一点,但使用 Launch.json

这是我在 F5 构建 C# 项目时经常使用的配置: Gist

【讨论】:

【参考方案4】:

终端 -> 运行任务... -> 选择要运行的任务名称

【讨论】:

以上是关于在 Visual Studio Code 中发布构建的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 命令行 (devenv) 和 IDE 构建有啥区别?

在 Visual Studio Code 中使用 Anaconda

在 Visual Studio Code 中反应智能感知

在 Visual Studio 中,与 std::async 一起使用时未调用“thread_local”变量的析构函数,这是一个错误吗?

在 Visual Studio Code 中销毁 TypeScript

2018-11-06 Visual Studio Code插件-英汉词典初版发布