首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

贴心 | Visual Studio 2019 空引用异常的改进

空引用异常是最常见的程序错误之一。微软昨天发布的VS2019对此有了非常贴心的改进,我们来看看吧!...(programmer.Girlfriend.Name); Console.ReadKey(); } 然后拿VSCode或者以前版本的Visual Studio跑,你是不知道具体哪个属性null...要注意的是,这个功能并不是.NET Framework或者.NET Core的,因此脱离了VS2019就看不到这个精准空引用的异常信息了。 ?...在公司的大型项目里,空引用异常通常很难排查,当一个class有几十个属性,又嵌套了别的class的时候,报一个空引用异常,究竟是哪个属性为null,我们曾经要花很长时间debug,现在有了VS2019,...可以一眼就能知道空引用的位置,节约了程序员宝贵的时间,进一步远离996!

1.3K80

visual studio运行程序的快捷键_visual studio快捷方式在哪

目录 一、系统快捷键 二、常用系统命令 三、QQ快捷键 四、IE浏览器快捷键使用大全 五、Word 中的快捷键 六、Excel 中的快捷键 七、PowerPoint 中的快捷键 八、Visual...Studio 九、Eclipse 十、Photoshop 十一、批处理指令 十二、安装操作系统 (此快捷操作对我们程序员十分重要,所以放在前面) 八、Visual Studio 8.1、项目相关的快捷键...perfmon.msc—-计算机性能监测程序 powercfg.cpl—电源选项 progman——–程序管理器 regedit——–注册表 rsop.msc——-组策略结果集 regedt32...+| 在选定的列中,选取与活动单元格中的值不匹配的单元格 Ctrl+[ 选取由选定区域中的公式直接引用的所有单元格 Ctrl+Shift+{ 选取由选定区域中的公式直接或间接引用的所有单元格 Ctrl...+] 选取包含直接引用活动单元格的公式单元格 Ctrl+Shift+} 选取包含直接或间接引用活动单元格的公式单元格 Alt+; 选取当前选定区域中的可见单元格 6.12.选区扩展快捷键 F8 打开或关闭扩展模式

4.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 Visual Studio 调试多进程的程序

    当你的编写的是一个多进程的程序的时候,调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。...本文将介绍几种用 Visual Studio 调试多进程程序的方法,然后给出每种方法的适用条件和优劣。...当然,这些项目都必须要是能够启动的才行(不一定是可执行程序)。 此方案的好处是 Visual Studio 原生支持。...配置项目启动选项 但是,子进程要能够调试,你还必须开启混合模式调试,开启方法请参见我的另一篇博客:在 Visual Studio 新旧不同的 csproj 项目格式中启用混合模式调试程序(开启本机代码调试...在代码中调用 Visual Studio 的 COM 组件 API 编写中…… 总结 综上,虽然我给出了 4 种不同的方法,但实际上没有任何一种方法能够像我们调试单个原生托管程序那样方便。

    2.7K10

    Visual Studio对程序集签名时一个很不好用的地方

    有了Visual Studio这个强大的IDE,程序集的签名工作很好实现——仅仅需要在Project的Properties对象框的Signing Tab中指定一个Key File就可以了。...但是,Visual Studio做得不够好。 一、Visual Studio会自作主张地在项目根目录下复制一个Key File ? 举个例子,假设一个解决方案中具有两个项目:Lib1和Lib2。...但是当你选中Key.snk这个文件的时候,Visual Studio并不会用将这个文件作为对本程序集进行签名的Key File,而是会自作主张地将该文件拷贝到Lib1所在的根目录下。...解决方案2:通过命令行进行强签名 相信大家对通过命令行对程序集进行强签名的方式都不会感到陌生。...虽然通过Visual Studio不能实现我们的目标,如果我们直接更新项目文件呢?实践证明,这种方案时可行的。

    69290

    角落的开发工具集之Vs(Visual Studio)2017插件推荐

    Visual Studio 2017 扩展 Visual Studio 2017 15.4.4 : 目前是最新的版本号,所有的工具&插件都支持这个版本号。所以请对号入座。...ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G,就不要使用它了。...Extensibility Tools :必备工具,他是基于visual studio上的拓展功能,增加了编码显示、智能感知、强化智能提示、代码段处理、自动提示html的标签工具等特点,而且下面提到的部分工具也是基于它的强化...GitHub Extension for Visual Studio: 在Visual Studio中连接到GitHub的插件,直接在插件上管理github上的大部分功能都涵盖了。...GitHub地址:ZenCoding Markdown Editor:一个在visual studio 中的markdown工具,虽然在VS中用markdown工具有点杀鸡用牛刀但是偶尔还是比较实用的。

    1.9K90

    .NET 可移植性分析器

    可移植性分析器作为 Visual Studio Extension 提供,用于分析每个项目的一个程序集;也可以作为 ApiPort 控制台应用提供,用于按指定文件或目录分析程序集。...若要在 Visual Studio 中分析整个项目,请在“解决方案资源管理器”中右键单击该项目,然后选择“分析程序集可移植性” 。...目标类型:该类型具有目标平台缺少的 API 目标成员:目标平台缺少的方法 程序集名称:缺少的 API 所在的 .NET Framework 程序集。...由于 API 数量众多,在维护 API 最新状态方面,我们面临着巨大的挑战。 我们致力于提供备用解决方案,以便为客户提供有用的信息。 缺少程序集 可以在报表中找到“缺少程序集”部分。...此部分包含由你的经过分析的程序集引用的程序集列表(此列表未经过分析)。 如果它是你自己拥有的程序集,请将其包含在 API 可移植性分析器运行过程中,以便你可以获得详细的 API 级别可移植性报表。

    1.2K40

    Visual Studio下程序开发: error LNK2019: 无法解析的外部符号

    一、环境介绍 Visual Studio IDE 版本: VS2017 QT版本: QT5.12.6 产生问题环境: 在Visual Studio 2017下开发QT程序,引用了ffmpeg库实现视频播放器开发...ClipVideo@CClipVideo@@IAEHXZ) 中被引用 1>CDecodeAudio.obj : error LNK2001: 无法解析的外部符号 _avformat_open_input...ClipVideo@CClipVideo@@IAEHXZ) 中被引用 1>CDecodeAudio.obj : error LNK2001: 无法解析的外部符号 _avformat_close_input...解决问题 出现问题的情况, 一般是在工程里引用了外置库的相关函数,在链接里没有指定库的路径或者是定义函数的.cpp文件没有加入到工程中。...如果是因为引用了外置的库,并用到了外置库里函数,没有加链接路径,那么按照下图把使用的库加入到附加依赖项里即可。

    3.3K10

    解决问题使用The build tools for v141 (Platform Toolset = v141) cannot be found

    打开Visual Studio,加载你的C++项目。右键点击项目,在右键菜单中选择"属性"。在属性窗口中,选择"配置属性" -> "常规"。在右侧的"平台工具集"下拉框中,选择合适的平台工具集。...方法3:修改全局默认工具集如果你想设置一个全局默认的平台工具集,可以通过以下步骤来完成:打开Visual Studio,点击"工具" -> "选项"。...在右侧的"平台工具集"下拉框中,选择合适的平台工具集。如果你想使用旧版本的构建工具,可以选择对应的工具集,如v140(Visual Studio 2015)。点击"确定"保存更改。...总结在使用Visual Studio编译C++项目时遇到The build tools for v141 (Platform Toolset = 'v141') cannot be found的错误,可能是缺少对应的构建工具所致...库文件(Library Files):v141构建工具提供了一系列的库文件,用于在项目中使用各种功能和功能扩展。这些库文件可以在编译和链接过程中被引用,以便在应用程序中使用它们的功能。

    1K10

    解决T4模板的程序集引用的五种方案

    VS 2010采用了与VS2008不同的程序集引用的解析机制。本篇文章为你介绍在VS2010下5种不同的程序集引用的方式。...目录 一、添加程序集引用解决不了问题 二、将引用程序集安装到GAC 三、利用VS的PublicAssemblies目录 四、指定程序集的具体路径...没错,这是一种解决方案,如果被引用的程序集具有强签名的话。有一点需要注意的是,T4模板引用某个安装于GAC的程序集的时候,在指令下不能指定文件扩展名(.dll)。...,你可以将其拷贝到VS 2010的PublicAssemblies目的下,该目录为C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\...《T4 Template error - Assembly Directive cannot locate referenced assembly in Visual Studio 2010 project

    83870

    Visual Studio 2019 16.1 更新摘要

    Visual Studio 2019 版本 16.1 的摘要 IDE 默认情况下,Visual Studio IntelliCode 随包含 C#、XAML 或 C++ 的任何工作负载一起安装。...大多数最近使用已添加到 Visual Studio 搜索。 调试器 源链接已实现身份验证的改进。 我们已添加到默认符号服务器的列表的 nuget.org 符号服务器。...查找所有引用都 minimises 使用箭头键时。 无法复制文件"obj\x64\Debug\Management.exe",因为未找到。 Xamarin.iOS 找不到应用程序清单。...请确保该项目包含名为的清单文件 Info.plist"。 nmake 环境缺少指向 NETFX 工具的路径。 单击打开项目的解决方案中的 ASP.NET Core 项目。csproj文件。...运行应用引用库后,删除了项目中的程序集引用。 当将 Visual Studio 2019 从 RC 更新到 GA 时,Visual Studio 的 RC 快捷方式将被保留。

    5.7K40

    IIncrementalGenerator 增量 Source Generator 生成代码入门 判断程序集的引用关系

    本文将告诉大家如何在 IIncrementalGenerator 增量 Source Generator 生成代码里面,在 Roslyn 分析器里面判断两个程序集是否存在引用关系 先上核心代码实现,核心代码就是调用以下代码进行判断程序集的引用关系...else { // 没有访问过的,获取引用的程序集是否存在引用关系...; } 核心判断逻辑就是获取当前程序集的 Modules 从而获取到 ReferencedAssemblySymbols 也就是当前程序集所引用的所有程序集,再判断引用的程序集里面是否包含期望被引用的程序集...对于间接引用的程序集来说,需要进行遍历才可以判断到,但是此时需要处理程序集循环引用问题。...本文这里采用传入一个字典的方法解决这个问题 获取当前分析器所分析的项目的引用程序集,可以通过 Compilation 的 SourceModule 的 ReferencedAssemblySymbols

    19010

    msbuild 使用 ProduceOnlyReferenceAssembly 创建作为引用的仅公开成员程序集

    ,为了做一些有趣的业务,期望只是包含程序集的公开成员定义,如公开的方法和公开的属性和枚举等,但是不要包含具体的实现逻辑代码。...可以让输出的程序集 dll 或 exe 里面只是包含了公开的成员的定义,但不包含具体的实现代码。...这样的程序集是仅仅作为被引用的程序集使用的,不能被实际调用 下面来告诉大家如何构建这样的程序集,构建有两个方法,第一个是放在 csproj 项目文件里面。...咱可以通过在构建的时候,修改构建命令来打出仅作为引用的程序集,如执行以下代码 msbuild /p:ProduceOnlyReferenceAssembly=true 此时构建出来的 dll 就是只读程序集...如果不想从源代码生成,期望从 DLL 里面重新导出,请参阅 dotnet 使用 Refasmer 从现有的 DLL 里面导出公开的成员组装出新的仅作为引用用途的程序集 本文会经常更新,请阅读原文

    78020

    Visual Studio安装程序中的背景图绿帽子摊上事了?

    Visual Studio 一直被誉为宇宙第一IDE,不过最近却摊上事了! 事情的起因是这样的,在安装VS2019之后,一个欢迎页的背景图片显示一个男人带着绿色帽子骑自行车。...事情不大,还是激发了小伙伴的讨论热情,有人认为区区小事没必要上纲上线,也有人觉得这是个大事,小细节更能提现出微软对本地人的友好,在问题底下有好多留言,热闹: ? ?...难道你还不明白@Edi Wang只是向Visual Studio团队提出建议吗?而不是决定。关于问题本身,是微软考虑并接受了它。对于Microsoft而言,任何反馈意味着对国际产品的贡献。...所以停止毫无意义的争论。贡献总是积极的,这个没有任何问题。...请切换回精神/精力充沛的形象! 让我说,一张welcome image而已嘛! 在座的各位,你们怎么看?

    74340

    无需安装 VS2019,在 Visual Studio 2022 中编译 .NET Framework 4.543.5 这样的古老框架

    Visual Studio 2022 已正式发布!着急升级的小伙伴兴致勃勃地升级并卸载了原来的 Visual Studio 2019 后,发现自己的几个库项目竟然无法编译通过了。...我之前在 另一篇文章 中告诉大家通过将 Visual Studio 2019 装回来的方式解决这个问题,但是有小伙伴不想安装 Visual Studio 2019;所以本文用另外一种方法,无需安装 Visual...如果点开 Visual Studio 2022 的安装程序,会发现已经删除掉了 .NET Framework 4.5 的目标包了,无法通过它安装回来。...在使用了以上代码后,Visual Studio 2022 刚打开项目时会短暂提示缺少 .NET Framework 4.5 框架,但真正编译时此提示会消失。...,并且通过 false" /> 指定额外引用 mscorelib,所以不会产生额外的引用。

    1.7K30

    IIncrementalGenerator 增量 Source Generator 生成代码入门 获取引用程序集的所有类型

    本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何获取到当前正在分析的程序集所引用的所有的程序集,以及引用的程序集里面的所有类型...这项技术可以用在生成导出类型相关的需求上,比如我想导出我当前程序集里面所有引用的程序集的继承于 IFoo 接口的所有类型,即可采用本文介绍的方法 核心逻辑是在 Compilation 里面拿到 SourceModule...属性 这里的 ReferencedAssemblySymbols 属性就是当前的程序集所引用的程序集了 在这些程序集上枚举所有程序集内的语义类型即可获取到所有的类型 以下是详细的例子 为了方便描述本文的技术实现...,咱需要先从 context 里面的 CompilationProvider 获取到引用的程序集,代码如下 [Generator(LanguageNames.CSharp)] public class...就是引用的 Lib 程序集里面的所有类型。

    31620
    领券