原文:2019-11-29-VisualStudio-使用三个方法启动最新-C#-功能

title author date CreateTime categories
VisualStudio 使用三个方法启动最新 C# 功能
lindexi
2019-11-29 08:58:50 +0800
2018-07-16 20:34:46 +0800
VisualStudio

本文告诉大家如何在 VisualStudio 打开最新的 C#,现在的微软更新 C# 很快,那么如何让 VisualStudio 在项目使用最新的

本文会告诉大家三个不同的方法,最后的方法是最推荐的

第一个方法

第一个方法是最简单的方法,右击项目属性,选择生成,可以看到下面界面

然后点击高级,选择最新语言版本,建议选择最新次要版本而不是直接选择是哪个版本

现在就可以使用最新的 C# 做出奇诡的业务,但是不告诉你除了在 Debug 需要设计还需要切换 Release 也设置,不然在 Debug 下可以使用,但是在 Release 就无法用最新的 C# 代码

第二个方法

如果升级了自己的 VisualStudio 项目为 VisualStudio 2017 项目格式,那么就很建议使用下面的方法,如何升级请看 从以前的项目格式迁移到 VS2017 新项目格式

打开项目的 csproj 文件,在一个PropertyGroup随便一个地方添加下面代码

<LangVersion>latest</LangVersion>

看起来的代码就是


  1. <PropertyGroup>
  2. <TargetFrameworks>netcoreapp2.0;net47</TargetFrameworks>
  3. <LangVersion>latest</LangVersion>
  4. <PackageId>lindexi.wpf.Mvvm</PackageId>
  5. <RootNamespace>lindexi.wpf.Mvvm</RootNamespace>
  6. <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  7. <Authors>lindexi</Authors>
  8. <RepositoryUrl>https://github.com/lindexi/UWP</RepositoryUrl>
  9. <Description>
  10. 欢迎来我博客 lindexi.gitee.io
  11. </Description>
  12. </PropertyGroup>

第三个方法

在上面一个方法,可以看到在一个新的项目都需要添加一句代码,这个方法是在新项目添加一个文件。

在项目文件所在的文件夹创建一个文件Directory.Build.props,需要注意这个文件的名字是特殊,不能随便改

在这里文件添加下面代码

<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>

因为 VisualStudio 会寻找文件夹存在的 Directory.Build.props 把这里的内容作为选项

2019-11-29-VisualStudio-使用三个方法启动最新-C#-功能的更多相关文章

  1. 2018-8-10-VisualStudio-使用三个方法启动最新-C#-功能

    title author date CreateTime categories VisualStudio 使用三个方法启动最新 C# 功能 lindexi 2018-08-10 19:16:52 +0 ...

  2. pycharm+anaconda在Mac上的配置方法 2019.11.29

    内心os: 听人说,写blog是加分项,那他就不是浪费时间的事儿了呗 毕竟自己菜还是留下来东西来自己欣赏吧 Mac小电脑上进行python数据开发环境的配置 首先下载Anaconda,一个超好用的数据 ...

  3. c++11线程创建的三种方法

    一.用一个初始函数创建一个线程 直接看代码:注意c++在运行一个可执行程序的时候(创建了一个进程),会自动的创建一个主线程,这个主线程和进程同生共死,主线程结束,进程也就结束了. #include & ...

  4. 2019.11.29 Mysql的数据操作

    为名为name的表增加数据(插入所有字段) insert into name values(1,‘张三’,‘男’,20); 为名为name的表增加数据(插入部分字段) insert into name ...

  5. 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱

    今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1.    RZ10配置參數 a)       参数配置前,先导入激活版本 执行完毕后返回 b)      输入参数文件DEFAU ...

  6. Supervision meeting notes 2019/11/29

    topic 分支:  1. subgraph/subsequence mining Wang Jin, routine behavior/ motif. Philippe Fournier Viger ...

  7. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  8. [Android] Android 异步定时任务实现的三种方法(以SeekBar的进度自动实现为例)

    [Android] Android 定时异步任务实现的三种方法(以SeekBar的进度自动实现为例) 一.采用Handler与线程的sleep(long)方法 二.采用Handler与timer及Ti ...

  9. [BUUOJ记录] [强网杯 2019]随便注(三种方法)

    本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject' ...

随机推荐

  1. 9.为什么要进行系统拆分?如何进行系统拆分?拆分后不用 dubbo 可以吗?

    作者:中华石杉 面试题 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 dubbo 可以吗? 面试官心理分析 从这个问题开始就进行分布式系统环节了,现在出去面试分布式都成标配了,没有哪个公司不问问 ...

  2. 在VideoFileClip函数中获取“OSError:[WinError 6]句柄无效”

    我正在使用python通过导入moviepy库创建一个程序,但收到以下错误: from moviepy.editor import VideoFileClip white_output = 'vide ...

  3. vue 开发系列(十) VUE 作用域插槽

    使用场景 官方解释,有时让插槽内容能够访问子组件中才有的数据是很有用的.比如我们在使用ant-design-vue 的表格控件时. <a-table-column title="注释& ...

  4. 17、DNS服务器

    DNS     domain  name system   域名系统   [root@li ~]# vim /etc/nsswitch.conf hosts:      files dns --涉及到 ...

  5. JAVAWEB复习day01

    一.基础知识 1.一个html文件开始和结束的标签<html></html> 2.html的两部分<head>设置相关信息</head>,<bod ...

  6. Ubuntu下部署Portainer管理docker

    在上一篇文章中,我们部署了Shipyard来管理docker集群,总体比较简单,而且Shipyard界面风格很简约,还是比较喜欢的,但是正如提出的node节点无法显示bug,以及该项目早已停止维护,让 ...

  7. os模块补充以及序列化模块

    os模块补充以及序列化模块   一.os模块的补充 1.os.path.abspath 能把存在的相对路径的绝对路径显示出来 path = os.path.abspath("连达day19. ...

  8. JS高阶---IIFE&&函数前加;

    IIFE( 立即调用函数表达式)是一个在定义时就会立即执行的 JavaScript 函数. 全称为Immediately Invoked Function Expression 有时如果不加:会出现一 ...

  9. 【OI备忘录】dalao博文收藏夹

    [dalao学习笔记总览] [数学] 数论分块:数论分块 矩阵树定理Matrix_Tree:矩阵树Matrix-Tree定理与行列式 杨氏矩阵:杨氏矩阵和钩子公式 Hall定理:Hall定理学习小记 ...

  10. 常用开窗函数总结(hive、sparkSQL可执行)

    一:根据某个字段排序 测试数据: SQL> select * from sscore; NAME       SCORE ---------- ----- aa            99 bb ...