zoukankan      html  css  js  c++  java
  • Visual Studio Code创建C#项目

    Visual Studio Code是一个支持跨平台的文本编辑器,同其他文本文本编辑器一样,不但占用磁盘空间小,性能也比较快;近几年由于不断的升级和许多开发者提供大量的插件,它已经成为了一个非常强大的代码编辑器。所以当我们创建一些中小型项目或者需要修改项目中的某个文件,直接使用vscode是非常方便的。

    安装vscode

    vscode下载地址https://code.visualstudio.com/

    安装C#语言的运行环境,当然安装过Visual Studio编辑器的话是不需要再安装了

    下载地址.NET Corehttps://dotnet.microsoft.com/download

    然后在vscode中安装C#语言的插件

    相关的文档:https://code.visualstudio.com/docs/languages/csharp
    视频介绍:https://channel9.msdn.com/Blogs/dotnet/Get-started-VSCode-Csharp-NET-Core-Windows

    创建C#项目

    打开vscode,然后添加一个工作空间

    添加工作空间之后,通过vscode菜单新建一个终端(快捷键Ctrl+Shift+`)

    dotnet --help  //查看dotnet相关的帮助命令
    

    创建解决方案

    PS D:ProjectsCSharp> dotnet new sln -o MyApp
    已成功创建模板“Solution File”。
    

    创建项目类库

    首相进入项目目录,然后再创建对应的主程序和类库

    PS D:ProjectsCSharp> cd .MyApp
    PS D:ProjectsCSharpMyApp> dotnet new classlib -o  MyApp.Model
    已成功创建模板“Class library”。
    
    正在处理创建后操作...
    正在 MyApp.ModelMyApp.Model.csproj 上运行 "dotnet restore"...
      正在还原 D:ProjectsCSharpMyAppMyApp.ModelMyApp.Model.csproj 的包...
      正在生成 MSBuild 文件 D:ProjectsCSharpMyAppMyApp.ModelobjMyApp.Model.csproj.nuget.g.props。
      正在生成 MSBuild 文件 D:ProjectsCSharpMyAppMyApp.ModelobjMyApp.Model.csproj.nuget.g.targets。
      D:ProjectsCSharpMyAppMyApp.ModelMyApp.Model.csproj 的还原在 210.35 ms 内完成。
    
    还原成功。
    
    PS D:ProjectsCSharpMyApp> dotnet new console -o  MyApp.HelloWorld
    已成功创建模板“Console Application”。
    
    正在处理创建后操作...
    正在 MyApp.HelloWorldMyApp.HelloWorld.csproj 上运行 "dotnet restore"...
      正在还原 D:ProjectsCSharpMyAppMyApp.HelloWorldMyApp.HelloWorld.csproj 的包...
      正在生成 MSBuild 文件 D:ProjectsCSharpMyAppMyApp.HelloWorldobjMyApp.HelloWorld.csproj.nuget.g.props。
      正在生成 MSBuild 文件 D:ProjectsCSharpMyAppMyApp.HelloWorldobjMyApp.HelloWorld.csproj.nuget.g.targets。
      D:ProjectsCSharpMyAppMyApp.HelloWorldMyApp.HelloWorld.csproj 的还原在 201.45 ms 内完成。
    
    还原成功。
    

    将类库添加到项目中

    PS D:ProjectsCSharpMyApp> dotnet sln add  .MyApp.HelloWorldMyApp.HelloWorld.csproj
    已将项目“MyApp.HelloWorldMyApp.HelloWorld.csproj”添加到解决方案中。
    PS D:ProjectsCSharpMyApp> dotnet sln add  .MyApp.ModelMyApp.Model.csproj
    已将项目“MyApp.ModelMyApp.Model.csproj”添加到解决方案中。
    

    项目中类库间的引用

    首先需要进入到要添加引用的程序集目录中,然后执行引用命令

    PS D:ProjectsCSharpMyApp> cd .MyApp.HelloWorld
    PS D:ProjectsCSharpMyAppMyApp.HelloWorld> dotnet add reference ../MyApp.Model/MyApp.Model.csproj
    已将引用“..MyApp.ModelMyApp.Model.csproj”添加到项目。
    

    编译和运行代码

    PS D:ProjectsCSharpMyApp> dotnet build
    PS D:ProjectsCSharpMyApp> dotnet run --project MyApp.HelloWorld
    

    代码调试

    vscode同时支持友好的界面代码调试,通过F5启动调试;启动调试时还需要我们添加调试的一些配置,可以通过vscode自动创建配置模板(launch.json和task.json),然后我们再对应进行修改

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": ".NET Core Launch (console)",
                "type": "coreclr",
                "request": "launch",
                "preLaunchTask": "build",
                "program": "${workspaceFolder}\MyApp\MyApp.HelloWorld\bin\Debug\netcoreapp2.2\MyApp.Apps.dll",
                "args": [],
                "cwd": "${workspaceFolder}",
                "stopAtEntry": false,
                "console": "internalConsole"
            }
    
        ]
    }
    
    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "build",
                "command": "dotnet",
                "type": "shell",
                "args": [
                    "build",
                    // Ask dotnet build to generate full paths for file names.
                    "${workspaceRoot}\MyApp",
                    "/property:GenerateFullPaths=true",
                    // Do not generate summary otherwise it leads to duplicate errors in Problems panel
                    "/consoleloggerparameters:NoSummary"
                ],
                "group": "build",
                "presentation": {
                    "reveal": "silent"
                },
                "problemMatcher": "$msCompile"
            }
        ]
    }
    
  • 相关阅读:
    -bash: fork: Cannot allocate memory 问题的处理
    Docker top 命令
    docker常见问题修复方法
    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
    What's the difference between encoding and charset?
    hexcode of é î Latin-1 Supplement
    炉石Advanced rulebook
    炉石bug反馈
    Sidecar pattern
    SQL JOIN
  • 原文地址:https://www.cnblogs.com/zhuanghamiao/p/vscode-csharp.html
Copyright © 2011-2022 走看看