Skip to content

VS 配置

VS 下载

官网地址:https://visualstudio.microsoft.com

运行&调试多模块项目

1、安装Tye

dotnet tool install -g Microsoft.Tye --version "0.12.0-*" --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json

2、安装EasyRun
点击顶部菜单栏:拓展 -> 管理拓展 -> 浏览选项卡搜索EasyRun点击安装

3、配置EasyRun
模板项目,在01.SlnFiles/MyCompanyName.MyProjectName.sln.EasyRun.json中配置

MyCompanyName.MyProjectName.sln.EasyRun.json
json
{
  "SettingsId": "2b14968a-f3ca-4849-bcad-5d4f210d2960",
  "Profiles": [
    {
      "Name": "Default",
      "LoggingTargetType": 0,
      "LoggingPath": "./.logs",
      "LoggerUrl": null,
      "UseTye": true,
      "TyePort": 10000,
      "Filter": ".Host",
      "Services": [
        {
          "ServiceType": 0,
          "Name": "MyCompanyName.MyGateway.Host",
          "TyeName": null,
          "ProjectFile": "gateways\\MyCompanyName.MyGateway\\MyCompanyName.MyGateway.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::16010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "MyCompanyName.MyIMServer.Host",
          "TyeName": null,
          "ProjectFile": "modules\\im\\MyCompanyName.MyIMServer\\MyCompanyName.MyIMServer.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::17010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "MyCompanyName.MySys",
          "TyeName": null,
          "ProjectFile": "modules\\sys\\MyCompanyName.MySys\\MyCompanyName.MySys.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::18010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "MyCompanyName.MyBiz",
          "TyeName": null,
          "ProjectFile": "modules\\biz\\MyCompanyName.MyBiz\\MyCompanyName.MyBiz.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::18020",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "MyCompanyName.MyMem",
          "TyeName": null,
          "ProjectFile": "modules\\mem\\MyCompanyName.MyMem\\MyCompanyName.MyMem.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::18030",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        }
      ]
    }
  ]
}

源码项目,在01.sln/ZhonTai.sln.EasyRun.json中配置

ZhonTai.sln.EasyRun.json
json
{
  "SettingsId": "2b14968a-f3ca-4849-bcad-5d4f210d2960",
  "Profiles": [
    {
      "Name": "Default",
      "LoggingTargetType": 0,
      "LoggingPath": "./.logs",
      "LoggerUrl": null,
      "UseTye": true,
      "TyePort": 10000,
      "Filter": ".Host",
      "Services": [
        {
          "ServiceType": 0,
          "Name": "ZhonTai.Gateway.Yarp.Host",
          "TyeName": null,
          "ProjectFile": "gateways\\ZhonTai.Gateway.Yarp.Host\\ZhonTai.Gateway.Yarp.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::16010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "ZhonTai.IMServer.Host",
          "TyeName": null,
          "ProjectFile": "modules\\im\\ZhonTai.IMServer.Host\\ZhonTai.IMServer.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::17010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        },
        {
          "ServiceType": 0,
          "Name": "ZhonTai.Admin.Host",
          "TyeName": null,
          "ProjectFile": "modules\\admin\\ZhonTai.Admin.Host\\ZhonTai.Admin.Host.csproj",
          "DefaultSelected": true,
          "Bindings": "::18010",
          "Arguments": null,
          "EnvVariables": null,
          "Replicas": 1
        }
      ]
    }
  ]
}

4、打开EasyRun
点击顶部菜单栏:视图 -> 其他窗口 -> EasyRun,打开EasyRun窗口

5、运行项目
EasyRun选项卡勾选要运行的项目,点击Tye按钮运行,再次点击Tye按钮停止运行

6、调试项目
EasyRun选项卡运行的项目中,选择要调试的项目点击Debugger按钮开启调试

调试 NuGet 程序包源码

点击顶部菜单栏:工具 -> 选项 -> 调试 -> 常规,取消启用“仅我的代码”,勾选启用源服务器支持 --> 点击确定

F12进入NuGet程序包源码,在要调试的代码处设置断点,点击Debugger按钮开启调试

启用高级保存选项

默认情况下,Visual Studio 2022等较新版本的“文件”菜单中可能未显示“高级保存选项”,需手动添加

  1. 打开 Visual Studio。
  2. 点击顶部菜单栏的 “工具” > “自定义”。
  3. 在弹出的窗口中,切换到 “命令” 选项卡。
  4. 选择 “菜单栏”,并在下拉列表中选择 “文件”(即你要修改的菜单位置)。
  5. 点击右侧的 “添加命令” 按钮。
  6. 在弹出窗口中,左侧选择 “文件”,右侧找到 “高级保存选项”,点击 “确定”。
  7. 关闭“自定义”窗口。

此时“文件”菜单中会显示 “高级保存选项”菜单项,打开高级保存选项窗口,可设置保存编码、换行符等

构造参数命名规则

  1. 工具 -> 选项 -> 文本编辑器 -> C# -> 代码样式 -> 命名
  2. 点击管理命名样式
  3. 添加命名样式,设置如下:

命名样式标题:private-fields-with-underscore
必填前缀: _
大写: 驼峰式大写命名

在构造参数string name处使用快捷键Alt + Enter,选择创建字段“_name”并赋值选项
生成代码如下:

c#
public class ModuleService : BaseService, IDynamicApi
{
  private readonly string _name;
  public ModuleService(string name)
  {
      _name = name;
  }
}