摘要
工控机windows双击exe一键运行vscode-server及使用命令行编译c#.net工程.
1. 一键运行code-server
下载地址:[https://gitee.com/David-CodeServerWeb/vscode-web-win]
- 适用场景: 工控机等windows设备✋😭🤚无法连接外网、无法开启硬件虚拟化、无法安装WSL等٩(๑❛ᴗ❛๑)۶🌈💌极端受限场景
VSCode Web服务器
一、简介
基于GitHub - coder/code-server: VS Code in the browser封装了启动方法,无需安装一键启动VSCode Web服务器。
二、目录构成
VSCode Web服务器的目录结构如下表所示:
名称 | 描述 |
---|---|
code-server | VSCode Web服务器主体程序,基于GitHub - coder/code-server: VS Code in the browser (目前发布版本只有Linux版本,Windows版本有相关适配修改) |
config | 配置文件存放目录 |
extensions | vscode插件存放目录 |
log | 日志文件存放目录 |
user | 用户配置存放目录 |
VSCode Web服务器的树结构:
vscode-web
├── code-server # VSCode Web服务器主体程序
├── config # 配置文件存放目录
│ └── config.yaml # 配置文件
├── extensions # vscode插件存放目录
│ ├── .obsolete # 记录vscode插件那些需要删除状态文件
│ └── extensions.json # vscode插件配置文件
├── log # 日志文件存放目录
├── user # 用户配置存放目录
├── .gitignore # 用来忽略哪些文件不被git管理的文件
├── README.md # 项目文档
├── vscode-web.bat # 启动VSCode Web服务器bat脚本
└── vscode-web.exe # 启动VSCode Web服务器程序(基于VSCode Web服务器bat脚本制作生成)
三、config.yaml配置文件说明
bind-addr: 0.0.0.0:8080
auth: password
password: 123456
cert: false
对象 | 含义 |
---|---|
bind-addr | VSCode Web服务器绑定的IP和端口,格式: ip:port |
auth | 默认password,不需要改动 |
password | VSCode Web服务器登录密码 |
cert | 是否启用https(false: 不启用、true:启用),注意:Windows版本不支持cert,所以不要配置为true,否则不能正常运行VSCode Web服务器 |
四、运行效果
运行截图 |
---|
![]() |
2. 使用命令行编译c#.net工程
[https://shigure624.github.io/posts/Windows开发工具记录:Batch、VisualStudio、MSBuild.html#:~:text=目标:实现在命令行下执行sln文件或project文件的编译。 目的:可以看到具体的build信息,方便脚本执行和问题排查。 步骤: 用CMakeLists.txt文件生成sln文件。 假如我们有CMakeLists.txt文件如下: cmake . -G,Name,可以使用 cmake --help 查看具体的Name列表。 -A 用来指定平台类型。 以上的指令将生成sln和vcxproj文件。 用MSBuild执行编译,并指定平台。]
[https://www.cnblogs.com/songxingzhu/p/5242159.html]
[https://learn.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022]
- 适用场景: CI/CD自动构建
实际方案:
cd "D:\开发\JustSmartLab\exp13-string-compare\string-compare"# 先调用 VsDevCmd.bat 并把环境变量导回当前会话
cmd /c "`"%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat`" -arch=amd64 && set" |ForEach-Object {if ($_ -match '^([^=]+)=(.*)') {[System.Environment]::SetEnvironmentVariable($matches[1], $matches[2])}}# 现在再试
msbuild -versionmsbuild "string-compare.sln" /p:Configuration=Release /p:Platform=x64
msbuild "string-compare.sln" /p:Configuration=Release
或者:
# Ctrl + Shift + V粘贴cd "D:\JustSmart\AppTrash\string-compare"
cd "D:\JustSmart\AppCode\OCR自动核对_2508290932"# 先调用 VsDevCmd.bat 并把环境变量导回当前会话
cmd /c "`"%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat`" -arch=amd64 && set" |ForEach-Object {if ($_ -match '^([^=]+)=(.*)') {[System.Environment]::SetEnvironmentVariable($matches[1], $matches[2])}
}# 现在再试
msbuild -version# 还原NuGet包
dotnet clean
dotnet restore# mkdir "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages"# 编译
msbuild "string-compare.sln" /p:Configuration=Release
msbuild "OCR资料自动核对.sln" /p:Configuration=Release /p:Platform=x64