.net -VS技巧

VS 自带反编译功能

前需要反编译的时候,一直都是用的神器 Reflector。但毕竟还是有点不方便,因为要从 VS 切换到另一个工具。而且,Reflector 现在收费了。

然而现在才发现,原来 VS 已经自带反编译功能了,不愧是宇宙第一 IDE。

工具 → 选项 → 文本编辑器 → c#>高级 → 启用导航到反编译源 img

勾上以后, F12 就可以直接查看反编译后的源代码了。原文:

以前需要反编译的时候,一直都是用的神器 Reflector。但毕竟还是有点不方便,因为要从 VS 切换到另一个工具。而且,Reflector 现在收费了。

然而现在才发现,原来 VS 已经自带反编译功能了,不愧是宇宙第一 IDE。

工具 → 选项 → 文本编辑器 → c#>高级 → 启用导航到反编译源 img

勾上以后, F12 就可以直接查看反编译后的源代码了。

 

NuGet微软官方中国国内镜像

为解决国内访问NuGet服务器速度不稳定的问题 ,这里推荐使用NuGet微软官方中国国内镜像

地址:https://nuget.cdn.azure.cn/v3/index.json

 

添加NuGet源的方式

菜单: 工具 -> NuGet包管理器 -> 程序包管理器设置

img

 

.net core编译时设置不自动生成“netcoreapp3.0”目录

 

.netcore项目输出目录会自动加上netcoreapp+SDK版本号。这个按照以前的方式感觉不舒服,

这个可能是为了对程序进行区分,不打开项目你不知道项目是不是netcore,另外netcore又还不是完全兼容升级。

需要回到以前的形式,则对项目文件编辑即可。选择项目后右键选择“编辑项目文件”。

添加如下配置组:

<PropertyGroup>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>

 

使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理

本章将和大家简单分享下如何使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理。

一、注册并登录NuGet平台

NuGet官网:https://www.nuget.org/

img

此处我使用的是微软账号进行关联登录

img

登录成功后就可以管理个人信息了,此处就不做过多的描述了

二、下载nuget.exe文件进行ASP.NET Core类库打包

img

下载完成后如下:

img

接着修改类库版本等相关信息,点击类库右键属性并选择打包,如下所示:

img

修改完成后记得保存并重新生成

然后打开以管理员身份运行cmd,进入到nuget.exe文件所在的目录(要执行nuget命令),比如我的位置是F:\NuGetPublish

命令:cd /d F:\NuGetPublish

img

接着执行NuGet命令进行打包

命令:nuget pack 项目文件路径(精确包含到.csproj项目文件)
例如:nuget pack F:\TianYaDotNetCore\TianYa.DotNetCore.Solution\TianYaSharpCore.ComponentModel\TianYaSharpCore.ComponentModel.csproj

img

这时候我们就能看到创建成功了,但是创建的文件不在我们的项目文件目录下,而是在nuget.exe文件对应的目录下,也就是F:\NuGetPublish目录下

img

可以看到这个目录下,生成了一个.nupkg类型的程序包文件

三、将程序包(类库)发布到NuGet平台上

方式1:直接上传刚才生成的.nupkg类型的程序包文件

img

img

上传成功后直接点击提交即可,当然你也可以完善相关信息后再提交。

最后稍微等待几分钟,就可以在NuGet平台上,管理包的地方看到刚刚发布那个包的相关信息了。

img

当看到所发布包的状态为Listed的时候,就可以在VS中管理NuGet程序包的地方找到了,如下所示:

img

方式2:使用NuGet的push命令进行发布

首先需要到NuGet平台上创建api秘钥,如下所示:

img

img

img

可以看出秘钥创建成功了,然后接下来就是设置秘钥了

设置秘钥命令:nuget setApiKey <my_api_key>

其中<my_api_key>是nuget网站上生成的api密钥

img

可以看出秘钥设置成功了,最后就是使用NuGet中的push命令进行发布了

命令:nuget push 打包好的.nupkg程序包名 -Source https://www.nuget.org/packages

例如:nuget push TianYaSharpCore.Utility.1.0.0.nupkg -Source https://www.nuget.org/packages

img

可以看出发布成功了。接下来需要耐心等待几分钟后才能查看的到。

至此,本章就介绍完了,如果你觉得这篇文章对你有所帮助请记得点赞关注哦,谢谢!!!

很多好用的Visual Studio插件

推荐一批绝大部分都是免费的能较好增强写代码舒适度的.

.NET Demon -- (非免费)安装后可以连续编译, 如果不买License的话过期后也还有代码改动后自动保存的上好功能, 安装它之后再也不用费心保存了.

AllMargins -- 在增强的滚动条, 可以以各种彩色呈现代码的结构和错误之处, 直接点击定位.

C# Outline -- 给C#所有{}代码块加折叠功能.

Code Alignment --提供代码对齐功能, 比如按 =, (, ) 等符号对齐, 也可以自定义对齐基准字符(串), 十分有用, 特别是有规律的代码需要列选时先对齐再操作无比舒适.

CodeMaid -- 显示代码中的成员, 可以按多种条件排序.

Code Compare--代码比对工具.

CssCop - FxCop For StyleSheets -- Css检测.

Duplicate Selection -- 增加快速复制所选词/所在行, 默认快捷键 Alt + D.

Editor Guidelines -- 右键给代码某字符处增加彩色参考线, 长代码好用.

HideShow Comments -- 方便的显示/隐藏注释.

HighLight All Occurrences of Selected Word -- 双击选择某个词后自动高亮整个代码里同样的词.

Indent Guides -- 给每个代码块增加垂直对齐虚线.

Inline Color Picker -- 多种语言代码中的颜色代码直接显示对应的颜色, 直观方便.

JavaScript Parser -- 增强的JavaScript Parser.

jQuery Code Snippets -- jQuery 的代码段.

JsLint .NET for Visual Studio -- 检测JavaScript.

LINQ Insight Express -- 允许设计时在Visual Studio中直接执行LINQ查询, 而无需启动调试会话.

Microsoft Code Digger -- 分析.NET代码中可能的执行路径.

MultiEditing -- 按Alt可以同时定义多个插入点同时在多个不同位置输入相同的字符, 但会影响Alt的列选功能, 不是很需要时通常禁用.

OzCode -- Debug时数据分析和跟踪的好扩展.

Productivity Power Tools -- 多种实用小功能集合.

Regex Tester -- 测试正则.

Regular Expression Tester Extension -- 测试正则.

TextHighLighterExtension -- 给代码中所有的词和变量提供增强的自动提示.

Viasfora -- 很实用的关键字高亮和彩虹括号, 能让代码看起来非常舒心.

SwitchStartupProject -- 同一个SLN中多个项目里快速切换启动项目.

VSColorOutput -- Build时输出信息彩色化.

VSCommands For Visual Studio -- 多种功能增加, 以及在带触控屏里给VS提供直接触摸拖动代码功能.

Web Essentials -- 跟Web相关的很多功能.

Workflow Manager -- 运行和管理 Windows Workflow Foundation 工作流.

XAML Regions -- 给XML 和 XAML增加 Region 功能.

Comment Translator--有一些项目的注释是使用日文或英文写的,有一些小伙伴看不懂,在 VisualStudio 可以通过插件帮助翻译注释

Microsoft Child Process Debugging Power Tool--调试多进程的程序,详细请看 Microsoft Child Process Debugging Power Tool - 调试多进程的程序

ClaudiaIDE--为编辑器添加一张背景图

Filter Debug Window--如果一个项目是很多小伙伴开发,里面有一些逗比喜欢在输出窗口输出大量无意义的文本,那么很难通过输出窗口调试 本文告诉大家通过 VisualStudio 插件过滤输出窗口文本,让 VisualStudio 的输出只是自己需要的信息,VisualStudio 过滤输出窗口文本

当然,最经典的Visual AssistX怎能少...

 

安装汉化包智能感知

具体不记得是在群里还是什么地方有人问过,.NETCore有没有汉化包,答案是有,目前微软已经为我们提供了.NETCore多种语言的语言包。下面看看如何安装与使用吧。 本文介绍:

  • 如何安装这些下载的本地化版本。

  • 如何修改Visual Studio安装以使用其他语言。

先决条件

  • .NET Core 3.0 SDK或更高版本。

  • Visual Studio 2019版本16.3或更高版本。

下载并安装本地化的IntelliSense文件?

在微软官方下载,打开该地址我们可以看到各种语言包

https://dotnet.microsoft.com/download/dotnet-core/intellisense#3.1

https://dotnet.microsoft.com/download/dotnet-core/intellisense#3.1

打开后选择对应.NETCore3.x的语言包,那么大家可以根据自身的框架版本进行选择对应的语言包。

选择要为其安装IntelliSense的SDK,然后导航到关联的路径。

SDK类型路径
.NET Core Microsoft.NETCore.App.Ref
WindowsDesktop Microsoft.WindowsDesktop.App.Ref
.NET Standard NETStandard.Library.Ref

下面对应的语言

语言语言代码
巴西葡萄牙语 pt-br
简体中文 zh-hans
繁体中文 zh-hant
法文 fr
德语 de
意大利语 it
日本 ja
韩语 KO
俄语 RU
西班牙文 es

修改Visual Studio语言

下载完后解压出来如下所示,我们打开 C:\Program Files\dotnet\packs拷贝到对应的文件夹中,切记拷贝到 C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1这里拿Microsoft.NETCore.App.Ref做例子进行拷贝

img

img

操作完后我们再来看一下效果。

效果

重启一下visualstudio再来看看如下效果

img

这样我们就可以通过智能感知在ide中获取到汉化后的注释提示

总结

关于智能感知可以参考以下文档 https://docs.microsoft.com/zh-cn/dotnet/core/install/localized-intellisense https://docs.microsoft.com/en-us/visualstudio/ide/using-intellisense?view=vs-2019

删除大量空白行或者缩进大量空白行

问题描述: 在vs编辑器的代码中有时含有大量无用的空白行,我们想删除这些大量空白行或者缩进空白行。 注: 不需要将代码复制在类似word的文本编辑器中缩进,建议直接使用VS缩进。 在这里插入图片描述 解决方法: 1、Ctrl+H,打开替换功能框。 2、选择“使用正则表达式”,“当前文档”。 3、在查找框中输入: (?<=\r\n)\r\n或者^:b*$/n: 4、全部替换 在这里插入图片描述 参考:https://blog.csdn.net/zyghs/article/details/54343314

Visual Studio安装工具和安装组件下载速度慢的问题

下载安装Visual Studio时在下面这个界面下载时速度只有几十KB每秒

 

img

 

解决办法:修改Host文件,在Host文件中添加下面代码,然后保存即可

110.53.72.104 download.visualstudio.microsoft.com

img

 

这里推荐使用DISM++修改Host文件,主要是方便,不用自己去搞权限替换文件

img

 

 

放一个DISM++官网的下载地址:

https://www.chuyu.me/zh-Hans/index.html

也可以从我的百度云下载:

https://pan.baidu.com/s/1Mk7jkWKIZnbhA9khyuSLMwhttps://pan.baidu.com/s/1Mk7jkWKIZnbhA9khyuSLMwhttps://pan.baidu.com/s/1Mk7jkWKIZnbhA9khyuSLMw

 

posted @ 2020-05-28 08:38  明志德道  阅读(536)  评论(0)    收藏  举报