使用新的 SDK 风格的 csproj 的时候,允许 NuGet 包进行依赖传递。...本文安利大家一个工具,可以自动了解有哪些项目的哪些库是多余安装的,通过依赖传递就能安装上,不需要手动安装,可以删除 这是一个 dotnet tool 工具,在使用之前需要使用如下命令进行安装 dotnet...,就可以了解具体项目上有哪些库可以删除 在删除掉多余的库之后,就能减少 NuGet 的版本的冲突,也让 csproj 的内容更少,在修改 csproj 的时候的冲突也会更少 此工具在 GitHub 完全开源...%E8%87%AA%E5%8A%A8%E6%89%BE%E5%88%B0%E9%A1%B9%E7%9B%AE%E9%87%8C%E9%9D%A2%E9%87%8D%E5%A4%8D%E7%9A%84-NuGet...如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页
如果你希望做一个 NuGet 工具包,那么这个包一定不能作为依赖传递给下一个包。典型的例子,做一个生成版本号的工具 NuGet 包,或者做一个代码分析器。...本文将解决 NuGet 的几个坑,真正做到绝对没有的依赖传递。 ---- 我们遇到了什么问题 如果你使用了 GitVersion 这款 NuGet 包来自动修改你的版本号,那么你可能会遇到这个问题。...但实际上这个属性在后面版本的 NuGet 开发中就丢掉了。不生效。 官方提供了 IsTool 属性可以使用,但这依然不能阻止 B 安装了 A 包之后,C 包被迫安装 A 包的问题。...令人遗憾的结果 然而使用命令行编译的时候,就不按照预期工作了;如下图这样,B 项目中出现了对 A 的依赖。 ? 命令行编译时使用这些命令效果都是一样的不管用。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布
典型的例子,做一个生成版本号的工具 NuGet 包,或者做一个代码分析器。 本文将解决 NuGet 的几个坑,真正做到绝对没有的依赖传递。...---- 我们遇到了什么问题 如果你使用了 GitVersion 这款 NuGet 包来自动修改你的版本号,那么你可能会遇到这个问题。...但实际上这个属性在后面版本的 NuGet 开发中就丢掉了。不生效。 官方提供了 IsTool 属性可以使用,但这依然不能阻止 B 安装了 A 包之后,C 包被迫安装 A 包的问题。...令人遗憾的结果 然而使用命令行编译的时候,就不按照预期工作了;如下图这样,B 项目中出现了对 A 的依赖。 ? 命令行编译时使用这些命令效果都是一样的不管用。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布
为了让开发者更方便地使用 Rafy 领域实体框架,本月,我们已经把最新版本的 Rafy 框架程序集发布到了 nuget.org 上,同时,还把 RafySDK 的最新版本发布到了 VisualStudio...使用 NuGet 安装、更新最新的 Rafy 框架程序集 在使用 NuGet 前,你必须为 VS 安装上 NuGet 包管理器。...在解决方案管理器中的某个项目的引用节点上点击右键,就可以为这个项目添加 NuGet 程序集引用了,如下图: 在打开的管理器界面中,搜索 Rafy,如下: 搜索完成后,就会看到下面几个 NuGet 包:...该项是把 Rafy 中的 IOC 适配到 Unity 上的一个插件,是为特定项目公开的 NuGet 包。 一般情况下,引用 Rafy.Domain 就可以使用了。...但是建议在正式使用前,先下载用户手册先进行必要的学习。 以后,我们会不定时更新 Nuget 包以及 SDK。开发者只需要直接更新就行了。
正常如果你想写一个 .NET 的 NuGet 包,直接打包就好了,你的引用程序集会出现在 NuGet 包内的 lib 文件夹内。然而,如果我们的 NuGet 包包含本机依赖的话怎么办呢?...同时包含托管依赖和 C++/CLI 依赖的“双包”,其特点为项目会直接使用 C++/CLI 程序集里的类型。 分别介绍制作方法。 本机依赖包(单包) 单包特别好打。...目标框架需与原来一模一样;也要 GeneratePackageOnBuild 来标记生成 NuGet 包;使用 ProjectReference 引用原来的项目,这样可以在生成的 NuGet 包中自动标记原来的...NuGet 包是其中一个重要的依赖。...NuGet 包都推送到 NuGet 服务器上去之后,你就可以在你的业务中使用这两个 NuGet 包了: 如果你只做了一个单包,那么直接引用这个单包即可 如果你做的是双包,那么引用其中托管的那一个即可,
类,然后用mvn exec:exec来运行,但是部署到生产环境中时,服务器上通常并不具备maven环境,只能用 java -jar xxx.jar这种方式来运行,下面是一些处理细节: 一、依赖项的处理...=target/lib 命令,把依赖的jar包全部导出到target/lib这个目录下 二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件 java application...Main-Class: ctas.importer.reader.app.Program 7 Archiver-Version: Plexus Archiver 其中第4行指定了classpath,也就是所依赖的...jar包在什么地方,第6行表示main函数的入口类,默认情况下mvn clean package生成的jar包里,清单文件上并没有这2行,需要在pom.xml中添加插件 1 2...,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二项 ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar
在 .net 7 以前,项目对于 nuget 依赖项的版本依赖散落与解决方案的各个角落。这导致升级维护和查看的时候都比较麻烦。...在 .net 7 中,你可以使用一个文件来集中管理你的 Nuget 依赖版本号。本篇文章将介绍如何使用这个功能。 为什么需要这个功能 通过单文件控制 Nuget 依赖版本号。...Nuget 依赖版本号的集中管理文件。...其中的写法除了 PackageVersion 元素外,其他的都是 Nuget 的写法。你可以在这个文件中添加你的 Nuget 依赖版本号。...这样你就可以通过 Directory.Packages.props 来集中管理你的 Nuget 依赖版本号了。
问题描述:我使用的是ubuntu18系统自动的py2.7还有pip9,还算是方便,在安装以前的基于pytho的软件的时候发现使用pip安装python包的时候会多次安装依赖包,虽然我设置了豆瓣镜像,安装速度非常快...,但是这样重复安装基础包是不是有点浪费呢?...比如使用代码: pip install --index-url https://pypi.douban.com/simple cnvkit pip install --index-url https:/...而且我查看目录: ls -lh $HOME/.local/lib/python2.7/site-packages 也的确看到包对应的文件夹更新了。...对python不是很熟,分享一下这个现象,粉丝圈这么大,肯定有人知道的。
在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中 2018-07-03 13:30 NuGet 提供了工具类型的包支持...但是,默认情况下,NuGet 不会将这些工具的依赖一起打包进入 NuGet 包 nupkg 文件内,这就使得功能比较复杂的跨平台 NuGet 工具包几乎是无法正常工作的。...本文将介绍将这些依赖加入 NuGet 包中的方法,使得复杂的工具能够正常使用。...典型的例子,我正在做一个基于 Roslyn 的 NuGet 工具包。于是整个 Roslyn 的大量 dll 都是我的依赖。但默认情况下,打出来的包并不包含 Roslyn 相关的 dll。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布
许多Python项目中都包含了requirements.txt文件,该文件记录了当前程序的所有依赖包及其精确版本号。...生成requirement.txt文件 pip freeze > requirements.txt 安装requirement.txt文件依赖 pip install -r requirements.txt...除了使用pip命令来生成及安装requirement.txt文件以外,也可以使用conda命令来安装。...conda install --yes --file requirements.txt 但是这里存在一个问题,如果requirements.txt中的包不可用,则会抛出“无包错误”。...如果想要在conda命令无效时使用pip命令来代替,那么使用如下命令: while read requirement; do conda install --yes requirement |
写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人...应用),所以这篇文章将使用最新版本的win32应用做介绍!...最后有两项特别重要了; Dependencies:依赖,这个包是否依赖其它的包,当然你可以把依赖的其他包直接拷贝包含进来,但是这就完全违背了nuget的初衷,如果你所依赖的项目没有nuget包,你可以联系原作者后者帮助打包为...而在添加这些文件夹的时候,可以通过右键点击文件夹,然后选择Add .NET Folder快速的添加不同版本名字缩写的文件夹,这是你使用命令行方式创建nuget包所享受不到的快捷的方式,很酷吧。...发布包 最后,使用GUI工具发布包当然是简单的令人发指了,点击工具栏中的File->publish就可以简单的发布你定义的包了,Puslish key来自于你的nuget账户的个人信息页面 ?
NuGet 包就可以不需要 nuspec 文件啦) - 吕毅 NuGet 相关的属性也分为全局属性和项属性两类。...$(PackageVersion): NuGet 包的包版本,可以使用语义版本号(参见语义版本号(Semantic Versioning) - 吕毅),如果没设置,则使用 $(Version);例如 3.2.0... 引用的项目或包中的指定部分是本项目的依赖项。默认为 all。 引用的项目或包中的指定部分不是本项目的依赖项,应该排除。... 引用的项目或包中的指定部分依然是本项目的依赖项,但是在打 NuGet 包时不作为依赖项(不会传递到下一个项目)。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布
使用 NuGetForUnity 安装完 NuGetForUnity 后,你能在 Unity 编辑器的主菜单上面看到 NuGet 入口了。...安装 NuGet 包 就从上面所述的菜单那里打开,你可以进入 NuGet 包的搜索与安装界面。输入并找到你想安装的 NuGet 包,然后点击 Install 即可。...还原 NuGet 包 正常情况下,你打开别人上传到版本管理中的仓库后,仅仅启动 Unity 编辑器就可以完成 NuGet 包的还原。...在微软的 文档中,描述 NuGet 包安装的方法是手工的,对于普通的没有依赖的 NuGet 包来说问题不大,不过如果 NuGet 包包含依赖的话,那手工处理的工作量就有点大了,尤其是依赖有嵌套,出现层层嵌套的依赖的时候...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
——那当然也是不再生效了呀(因为绑定被你覆盖了) 解决方法和原理 因为各大 WPF 入门书籍都说到了 WPF 依赖项属性的优先级机制,所以大家应该基本都知道这个。...而我们通过在 XAML 或 C# 代码中直接赋值,设置的是“本地值”。因此,如果设置了本地值,那么更低优先级的样式当然就全部失效了。 那么绑定呢?绑定在依赖项属性优先级中并不存在。...但是,SetCurrentValue 就是干这件事的! SetCurrentValue 设计为在不改变依赖项属性任何已有值的情况下,设置属性当前的值。...,就还原了此依赖项属性的一切设置的值: 1 _window.InvalidateProperty(Window.WindowStyleProperty); 注意不是 ClearValue,那会清除本地值...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
com.paypal.orders.AmountWithBreakdown) [ERROR] 位置: 类 com.paypal.orders.PurchaseUnitRequest 原因在于设置外部依赖包的版本时使用了...LATEST,这样每次便会尝试拉取最新版本的包。...,导致项目中依赖了1.0.0版本所使用的sdk,再依赖了新版本后便出现了编译问题。... checkout-sdk 1.0.0 建议 在依赖外部包的时候...,版本号不要直接写LATEST,要使用固定的版本号,否则有可能出现包升级,导致不兼容的问题。
", "keywords": ["riven","Riven","tools","Tools"], "license": "ISC" } name是依赖包的名字 version是版本 main...是程序的入口文件 description是依赖包的介绍 keywords是依赖包的搜索关键字 license是依赖包的开源协议 三、初始化工具文件 在src文件夹下创建:dateFormat.js文件,...注意:在运行npm login命令之前,必须先把下包的服务器地址切换为npm的官方服务器。否则会导致发布包失败!...发布包 首先我们需要cd到我们自定义依赖包的根目录 然后运行npm publish命令发布 然后我们就能在npm官网上面看到我们的包了 七、删除已经发布到npm上的依赖包 我们可以运行以下命令删除我们发布的包...: npm unpublish 包名 --force 注意: 此命令只能删除发布72小时内的包 此命令发布的包24小时内不能再发布 发包要慎重,不要发没有意义的包
工具包 - walterlv 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 - walterlv 当我们创建的 NuGet 包中包含 .props 和 .targets 文件的时候,我们相当于在项目文件...包或者扩展的编译流程都将可以访问到你设置的属性的值 如果你是使用属性,或者按条件设置属性,那么请写到 .targets 里面 因为这个时候多数的属性已经初始化完毕,你可以使用到属性的值了 如果你写的是编译目标...(Target),那么请写到 .targets 里面 编译目标是扩展编译的,通常都是使用属性 也会有一些产生属性的,但那都是需要在编译期间产生的属性,其他依赖需要使用 DependsOn 等属性来获取...:从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目) 而下面的属性适合写到 .targets 里面,因为这里使用到了其他的属性: 1...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
然而,团队开发的软件可能因为某个小伙伴不知道这样的历史问题,从而手抖将某个不应该更新的 NuGet 包更新了,于是迁移就挂了。 本文提供了一种方法来避免某些特定 NuGet 包的升级。...NuGet 包,但是最新版本已经是 4.1.4 了,很容易被团队中的其他小伙伴误升级。...▲ 当小伙伴打开包管理器的时候,会发现包版本不一致,然后就不小心升级了 思路 NuGet 使用 PackageReference 来管理所有的包引用,于是我试图通过隐藏 LiteDB 的 PackageReference...而一个典型的隐藏方法便是使用 Target。不在 Target 里面的属性和项是提前计算好的,而 Target 里面的属性和项是编译时才计算的。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布
ItemGroup 的某个 Item 的属性使用的是 如何在 MSBuild 中正确使用 % 来引用每一个项(Item)中的元数据 项目文件的代码如下 保留所有权利。 正在确定要还原的项目… 所有项目均是最新的,无法还原。...更多编译相关请看手把手教你写 Roslyn 修改编译 其实在 msbuild 里,如果小伙伴读过吕水大大的 帮助官方 NuGet 解掉 Bug,制作绝对不会传递依赖的 NuGet 包 - walterlv...,在这里面更新了一个随意的 NuGet 包,将 PrivateAssets 设置为 123 的值 使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。