原文: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. LeetCode学习_day1:原地算法

    原地算法:是一种使用小的,固定数量的额外之空间来转换资料的算法.当算法执行时,输入的资料通常会被要输出的部份覆盖掉. 范例:冒泡排序.选择排序.插入排序.希尔排序 (1)冒泡排序: 冒泡排序算法的原理 ...

  2. java中方法的重载和覆盖分别要满足的条件

    1.重载:遵循“两同三不同” 两同:同一个类中的同名方法 三不同:形参的类型,个数,顺序不同 特别提醒: 返回值不同构不能方法重载 形参名称不同构不成方法重载 2.覆盖(重写)的要求 子类方法的名称, ...

  3. Linux创建高级用户并删除

    Linux创建高级用户并删除 常见window系统可以创建许多用户,但是linux也可以创建许多用户. 方法比window方便简单. (1)添加一个普通用户 :nangong(名字自己取) usera ...

  4. Git学习笔记4-分支

    参考链接廖雪峰git教程:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136 1.分支创建 创建本地分支: $ git b ...

  5. linux wake on lan功能通过ethtool配置【转】

    转自:https://blog.csdn.net/fanlilei/article/details/38042063 ethtool工具中的wol功能一直很迷惑.今天看了代码将其帮助中下面的参数说明下 ...

  6. 阿里云Web应用防火墙采用规则引擎、语义分析和深度学习引擎相结合的方式防护Web攻击

    深度学习引擎最佳实践 {#concept_1113021 .concept} 阿里云Web应用防火墙采用多种Web攻击检测引擎组合的方式为您的网站提供全面防护.Web应用防火墙采用规则引擎.语义分析和 ...

  7. 第 33课 C++中的字符串(上)

    历史的遗留问题在C语言中没有真正意义上的字符串,为了表达字符串这个概念利用字符数组来模拟字符串.C语言不支持真正意义上的字符串 (C++也不支持)C语言用字符数组和一组函数实现字符串操作 (C++中同 ...

  8. echo和printf打印输出

    [root@node2 scprits]# echo Hello World! Hello World! [root@node2 scprits]# echo 'Hello World!' Hello ...

  9. Centos 安装Django2.1

    一.环境准备 1.1 服务器系统 Centos7 1.2.所需工具 python3(Django 2.0 版本是基于python3 版本,故而安装时需安装python3) Setuptools(> ...

  10. Netty的常用API(二)

    在使用Netty之前先介绍下Netty的常用API,对其有一个大概的了解. 一.EventLoop和EventLoopGroup EventLoop如同它的名字,它是一个无限循环(Loop),在循环中 ...