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

dotnet tool 自动找到项目里面重复的 NuGet 依赖项

使用新的 SDK 风格的 csproj 的时候,允许 NuGet 包进行依赖传递。...意思是如果我 A 项目安装了库 L 那么如果有 B 项目引用 A 项目,那么自动 B 项目也就安装了库 L 而不需要项目 B 再次手动安装。...也就是如果此时的 B 项目里面也加上了 L 库的安装,那么这个安装就是多余的。...本文安利大家一个工具,可以自动了解有哪些项目的哪些库是多余安装的,通过依赖传递就能安装上,不需要手动安装,可以删除 这是一个 dotnet tool 工具,在使用之前需要使用如下命令进行安装 dotnet...tool install -g snitch 在自己的项目分析有哪些项目的哪些库是可以删除的,可以通过如下命令分析 snitch Foo.sln 请将 Foo.sln 替换为你自己的项目文件 通过此工具分析之后

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

    Visual Studio 2022 17.1 正式发布 生产力大增强

    前言 Visual Studio 2022 17.1 版本已正式发布,该版本包含大量增强生产力的更新项,摘取一些较为重要的更新项介绍一下。...增强功能 嵌入式寄存器和 RTOS 线程引进了一些可视化功能,比如: 可以通过 Debug > Windows > Embedded Registers 访问寄存器视图,它提供所有可用寄存器、它们映射的内存位置和值的视图...改良方案过滤器(Solution Filters) 方案过滤器可以筛选加载的项目,比如你可以选择加载单个项目,或加载带有整个依赖关系树的项目。...问题是添加新项目或依赖项发生变化时,依赖关系图和方案过滤器就会过时,因此 Visual Studio 2022 17.1 引进了 “更新项目依赖项” 功能,该功能可以随时检查新的依赖项,把项目的依赖关系更新到最新状态....NET 生产力 源文件导航功能,如果引用程序集具有嵌入的源代码或源链接,现在将嵌入的源代码和源链接显示为“转到定义”的一部分。

    2.9K20

    Visual Studio Code1.67版本已正式发布,新增Rust指南

    旧的括号匹配行为(注意颜色和高亮装饰不匹配) 新的括号匹配行为: 切换镶嵌提示 嵌入提示是在源代码中显示附加信息的好方法。然而,有时您只是想看到实际的源代码。...改良方案过滤器(Solution Filters) 方案过滤器可以筛选加载的项目,比如你可以选择加载单个项目,或加载带有整个依赖关系树的项目。...问题是添加新项目或依赖项发生变化时,依赖关系图和方案过滤器就会过时,因此 Visual Studio 2022 17.1 引进了 “更新项目依赖项” 功能,该功能可以随时检查新的依赖项,把项目的依赖关系更新到最新状态....NET 生产力 源文件导航功能,如果引用程序集具有嵌入的源代码或源链接,现在将嵌入的源代码和源链接显示为 “转到定义” 的一部分。...默认情况下,如果从解决方案复制一个堆栈跟踪,然后将焦点切换到 “堆栈跟踪资源管理器” 窗口,随即将自动显示该堆栈跟踪。

    36730

    VS2008项目怎样添加“依赖(lib)”、“库目录(Libs)”、“包含目录(include)”和“引用动态链接库(dll)”

    “依赖(lib)”、“库目录(Libs)”、“包含目录(include)”和“引用动态链接库(dll)” 现在正值筒子们做毕设,但是以前项目经验少的同学会遇到一些配置的问题。...针对单个项目的方法 ---- 添加编译所需要依赖文件(lib) [解决方案资源管理器]项目->属性->配置属性->连接器->输入->附加依赖项里填写***.lib,多个 lib 以空格隔开。...添加包含文件目录(include) [解决方案资源管理器] 项目->属性->配置属性->C/C++->常规->附加包含目录 步骤可以参考上图。...关于dll的放置问题 ---- 如果一个项目依赖的运行依赖一些特殊的dll,则会牵扯到dll的放置问题。...我们直接运行Debug1的可执行文件(*.exe),这需要在这个目录下面放置所依赖的dll。 我们通过VS运行或者调试程序,则需要在Debug2中放置所依赖的dll,放在Debug1中是无效的。

    2.3K30

    sourcemap曳光弹 - 通过sourcemap直接将线上错误定位到源代码

    本文来自读者Ludwig酱投稿,非著名非典型的Web开发者 信奉简单可依赖的技术价值观,热爱Coding,热爱写作 掘金地址: https://juejin.cn/post/7342279484488728626...大家可以在浏览器里试试 nosources 在sourcemap的标准中, 有一项叫做sourceContent, 内容是源代码文本本身。...在得到这个信息后, 我们可以在本地切出这份代码, 然后在编译生成sourcemap Step2: 自己消费sourcemap, 得到报错对应的源代码 到这一步我们手里有两个资源 报错的堆栈信息, 一般是编译产物..., 就可以解析出对应的源代码中的行列信息, 这也就实现了的我们的目的,也就是在脱离复现的前提下, 仅根据报错信息, 得到对应的源代码位置 /** * 如其名, 用来消费sourcemap..., 找一下跟我们构造错误的位置是否一致 成功找到了源代码的报错位置!

    96510

    生成类库项目时同时生成的pdb文件是什么东东?

    英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。可以对程序的调试配置进行增量链接。...由此我明白了,原来pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。而程序在上线时是不需要xml文件和pdb文件的,可以进行配置,只生成dll文件。...定义: 生成类库项目时除了生成dll文件外,还会生成一个同名的pdb文件,它是一个程序数据库文件,保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。 ?...理解:pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。 ?...扩展:生成类库项目时不生成pdb文件: 打开类库项目属性页面→切换到生成选项卡→点击高级按钮→将调试信息一项设置为none。 ?

    1.3K10

    3 种确保开源Node.js依赖包安全的方法

    如果源代码可供任何人查看、修改或改进,则该软件被认为是开源的。任何人都可以访问和使用源代码,或者增强原始软件,或者创建完全不同的东西。流行的托管服务如GitHub托管了许多这样的开源项目。...当开发人员决定在他们的应用程序中使用另一个软件包中已经存在的特性,而不是从头开始编写它时,原始包就会成为他们自己项目中的依赖项。 开发人员经常选择开源依赖项,因为它们是免费的。...开发人员可以访问源代码,这意味着他们可以查看包是如何构建的。他们可以添加他们认为合适的特性,自己重新发布,或者甚至联系开源项目的原始作者,将他们添加的特性合并到现有代码中。...最后,它可以阻止开源代码中的任何危险信号,包括恶意软件、错字占用、隐藏代码、误导包、权限蔓延等等。 Socket不仅可以检测依赖项中的漏洞,还可以提供关于依赖项风险的可操作反馈。...有了N|Solid,数据直接从您的应用程序架构和堆栈收集,然后以一个清晰的、用户友好的方式显示在N|Solid控制台。

    1.1K20

    Sentry Web 前端监控 - 最佳实践(官方教程)

    要使用 SDK,请在源代码中导入并配置它。 demo 项目使用 React 和 Browser JS。...运行: > nvm use 通过运行安装项目依赖项: > npm install 通过运行以下命令在 localhost 上构建、部署和运行项目: > npm run deploy 部署成功完成后...JavaScript 通常被 minified 以减少源代码的大小。 Sentry 可以将代码解压缩(un-minify)回其可读形式并在每个堆栈帧中显示源(代码)上下文行,这将在下一节中介绍。...CLI 已通过项目依赖项(请参阅 package.json)提供,并且需要几个参数才能运行。...un-minified,包括每个堆栈帧中的文件名、方法名、行号和列号以及源代码上下文 Step 4: 探索 release 创建 release version 并通过 Sentry CLI 上传 source

    4.3K20

    .NET Core使用Source Link提高源代码调试体验和生产效率

    前言:   在我们日常开发过程中常常会使用到很多其他封装好的第三方中间件(NuGet依赖项)、类库或者是.NET框架中自带的库。...但是当你想要对这些类库的方法设置断点调试,然后发现无法F11(逐语句)调试进源码中调用堆栈大部分显示为灰色,而不让您看到调用堆栈中较早发生的事情。...如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会提升非常的多。那么Source Link这项技术刚好就满足了我们对源码调试的意愿。...什么是Source Link: Source Link是一项技术,可让开发人员从NuGet调试.NET程序集的源代码。源链接在创建NuGet程序包时执行,并将源代码控制元数据嵌入程序集和程序包中。...一旦配置了Source Link,当我们进入时,可以通过F11直接调试Nuget依赖库的源码(因为第一次需要下载源文件到本地可能等待时间要久一些)。 ? ? 指定下载对应文件的源代码进行调试: ?

    99511

    机器学习开发的灵药—Docker容器

    源代码控制:用于协作、备份和自动化。...如果这还不够复杂,您还会注意到您的依赖项包括: 迅速演进的机器学习框架 API; 机器学习框架依赖项,其中有很多是独立的项目; CPU 专用库,用于加速数学例程; GPU 专用库,用于加速数学例程和 GPU...有些非 Python 依赖项不由这些解决方案管理。由于典型机器学习堆栈十分复杂,因此很大一部分框架依赖项(例如硬件库)都在虚拟环境范围之外。...容器不仅可以完全封装您的训练代码,还能封装整个依赖项堆栈甚至硬件库。您会得到一个一致且可移植的机器学习开发环境。通过容器,在集群上开展协作和进行扩展都会变得更加简单。...如果您不这样做,则会面临以下风险:随着时间流逝,您将失去对更改的跟踪,并将依赖于一个“工作”映像,就像依赖于无法访问源代码的已编译二进制文件一样。

    1K10

    除了冒泡排序,你知道Python内建的排序算法吗?

    为了保持稳定,两个等值的元素不应该交换,这不仅保持了它们在列表中的原始位置,而且使算法更快。 当 Timsort 搜索到 runs 时,它们会被添加到堆栈中。一个简单的堆栈是这样的: ?...为了得到折衷方案,Timsort 追踪堆栈上最近的三个项,并为这些堆栈项创建了两个必须保持为 True 的规则: A > B + C B > C 其中 A、B 和 C 是堆栈中最近的三个项。...用 Tim Peters 自己的话来说: 一个好的折衷方案是在堆栈项上维护两个不变量,其中 A、B 和 C 是最右边三个还未归并片段的长度。 通常,将不同长度的相邻 run 归并在一起是很难的。...代码 下面的源代码基于我和 Nanda Javarma 的工作。源代码并不完整,也不是类似于 Python 的官方 sort() 源代码。...Timsort 的原始源代码:https://github.com/python/cpython/blob/master/Objects/listobject.c。

    61620

    Visual Studio 2008 每日提示(二十八)

    原文链接:How to show the disassembly automatically or not at all 操作步骤: 菜单:工具+选项+调试+常规,在选中“启动地址级调试”后,选项“源代码不可用时显示反汇编...如果此项没有选中,你将看到如下对话框(当前位置的代码是不可用的,是否自动启动反汇编?) 在对话框中选中“自动显示反汇编”项,就会显示代码的反汇编内容。...#277、在未处理的异常上调用堆栈时,做了什么?...“未处理的异常上调用堆栈”项变得可用。...如果没有启动该项,意味着不会自动调用堆栈。启用该项,如下所示异常的变量出现在局部变量窗口。 评论:此功能可以很详细查看有关堆栈中的异常变量。

    74840

    除了冒泡排序,你知道Python内建的排序算法吗?

    为了保持稳定,两个等值的元素不应该交换,这不仅保持了它们在列表中的原始位置,而且使算法更快。 当 Timsort 搜索到 runs 时,它们会被添加到堆栈中。一个简单的堆栈是这样的: ?...为了得到折衷方案,Timsort 追踪堆栈上最近的三个项,并为这些堆栈项创建了两个必须保持为 True 的规则: A > B + C B > C 其中 A、B 和 C 是堆栈中最近的三个项。...用 Tim Peters 自己的话来说: 一个好的折衷方案是在堆栈项上维护两个不变量,其中 A、B 和 C 是最右边三个还未归并片段的长度。 通常,将不同长度的相邻 run 归并在一起是很难的。...代码 下面的源代码基于我和 Nanda Javarma 的工作。源代码并不完整,也不是类似于 Python 的官方 sort() 源代码。...Timsort 的原始源代码:https://github.com/python/cpython/blob/master/Objects/listobject.c。

    55820

    编程新霸!微软重磅推出命令行新工具,数小时冲击GitHub榜首

    Windows Terminal还支持用插件来制作一系列加载项。 它还被设计为访问PowerShell,cmd.exe和Windows子系统Linux(WSL)等环境的中心位置。...该爆款项目包括以下源代码: Windows Terminal Windows 控制台主机 (conhost.exe) 两个项目之间共享的组件 ColorTool 展示如何使用Windows控制台API的示例项目...构建一个全新终端 当开始构建全新终端应用程序时,我们探索并评估了几种方法和技术堆栈。...此外,我们意识到终端的渲染器和输入堆栈可以构建成可重用的 Windows UI 控件,方便其他人可以将其合并到其他应用程序中。...源码构建 该项目使用 git submodules 包含一些相关依赖,要确保子模块被更新,请在构建器使用如下命令检查: git submodule update--init --recursive OpenConsole.sln

    55220

    Linux基础操作

    i:从光标当前位置插入 a:从光标后一个字符位置插入 o:从光标下一行插入 进入插入模式之后就可以进行编写了。编写完成后,按Esc键(在键盘的左上角)进入命令模式。...x:删除光标位置的字符 X(Shift x):删除光标前一个位置的字符 @[TOC] ---- yum 软件包管理器。...gcc/g++ 预处理:gcc -E 源代码 -o 目标文件.i 编译:gcc -S 源代码 -o 目标文件.s 汇编:gcc -c 源代码 -o 目标文件.o 链接:gcc 源文件 -o 目标文件,默认为动态链接...p 变量名:打印变量的信息 bt:调用堆栈。 finish:把当前函数运行结束停下来。...makefile的写法: 目标:依赖项 目标和依赖项的依赖关系 执行make,默认只执行makefile里面的第一个依赖关系。下面的目标都可以用make 目标的方法执行。

    48420

    Android Studio 4.1 发布,全方位提升开发体验

    Android Studio 4.1 的一些亮点如下: 引入全新的 Database Inspector,用于查询应用的数据库;支持浏览使用 Dagger 或 Hilt 进行依赖项注入的项目;支持在 Android...△ 在 Android Studio 中运行 Android Emulator Dagger 导航支持 Dagger 是 Android 上常用的依赖项注入库。...例如,点击使用给定类型的方法旁边的   gutter 操作,会将您导航到提供该类型的位置。相反,点击   gutter 操作会将您导航到将类型用作依赖项的位置。...Android Studio 还支持对使用 Jetpack Hilt 库定义的依赖项执行导航操作。您可以阅读 官方文档 了解详情。...从 AAR 中导出 C/C++ 依赖项 Android Gradle Plugin 4.0 增加了 在 AAR 依赖项中导入 Prefab 软件包 的功能。我们希望扩展此功能以共享原生库。

    3.7K20

    你了解 Python 字节码的原理吗?

    Python 虚拟机内幕 CPython 使用基于堆栈的虚拟机。也就是说,它完全围绕堆栈数据结构(你可以将项目“推”到结构的“顶部”,或者将项目“弹出”到“顶部”)。...CPython 使用三种类型的栈: 1.调用堆栈。这是运行中的 Python 程序的主要结构。对于每个当前活动的函数调用,它都有一个项目一“帧”,堆栈的底部是程序的入口点。...并将其推送到计算栈的顶部 3.一个 LOAD_CONST 指令将一个整数 2 推送到计算栈的顶部 4.一个 CALL_FUNCTION 指令 CALL_FUNCTION 指令有2个参数,它表示 Python 需要在堆栈顶部弹出两个位置参数...3、CALL_FUNCTION 1:告诉 Python 去调用一个函数;它需要从栈中弹出一个位置参数,然后,新的栈顶将被函数调用。...4、下面的 print 因为 2 个参数所以 LOAD_FAST 了 2 次,POP_TOP 删除堆栈顶部(TOS)项。

    2.6K40
    领券