首页
学习
活动
专区
圈层
工具
发布

VisualStudio 如何在 NuGet 包里面同时包含 DEBUG 和 RELEASE 的库

于是我就找到一个方法,可以在 NuGet 同时打包调试和发布的包,这样在用户调试的时候就可以使用调试的代码 我在一个库写代码,我需要做一点黑科技,让吕毅 在调试的时候输出的是 林德熙是逗比,但是在他发布的时候却输出吕毅是逗比那么我需要如何做...的方法创建一个 NuGet 包,这是 VisualStudio 2017 的 VisualStudio 使用新项目格式快速打出 Nuget 包 功能很好用 ?...,也就是需要先编译了调试代码和发布的代码才可以打包。...release // 输出吕毅是逗比 通过这个方法就可以在库同时包含调试的代码和发布的代码,因为在调试的代码可以添加很多影响性能的代码,所以通过这个方法可以方便调试也提高发布代码的效率,但是需要自己写一个...管理多个项目配置 VisualStudio 2019 新特性 VisualStudio 给项目添加特殊的 Nuget 的链接 VisualStudio 使用新项目格式快速打出 Nuget 包](https

2.2K30

使用GUI工具高效构建你自己的Nuget包丰富包的基础信息添加要包含的文件The end

写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人...左边部分,可以录入一些包中的基础信息,包括: 包的ID:必须的唯一的ID,格式和C#命名空间规范相同,在你发布包的时候会去验证唯一性。...最后有两项特别重要了; Dependencies:依赖,这个包是否依赖其它的包,当然你可以把依赖的其他包直接拷贝包含进来,但是这就完全违背了nuget的初衷,如果你所依赖的项目没有nuget包,你可以联系原作者后者帮助打包为...files节点可以包含file子节点,它包含src和target两个属性,来分别制定要包含的文件路径和目标路径,在src中还可以使用*和**通配符,想要了解更详细的说明,请参阅http://docs.nuget.org...在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。

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

    .NET 6 的 NuGet 包验证

    一、前言NuGet 是 .NET 开发中不可或缺的包管理工具。它简化了依赖包的管理与发布,特别是大型项目中。随着依赖包的增多,包的安全性、版本兼容性等问题日益重要,因此验证 NuGet 包至关重要。...二、NuGet 包验证的必要性安全性验证:避免引入恶意代码或漏洞。兼容性验证:确保依赖包版本与项目兼容。质量验证:确保包的代码质量与稳定性满足项目需求。三、常见的 NuGet 包验证方法1....通过官方工具和策略验证NuGet 客户端提供的自动检查功能,包括签名验证。Visual Studio 和 .NET CLI 提供的内置工具。2. 依赖包的签名验证什么是签名验证:如何确保包来自可信源。...启用签名验证的步骤。如何处理非签名包。3. 使用 SonarQube 和 OWASP 等工具进行安全分析如何将这些工具集成到 .NET 项目中,自动检测包的潜在漏洞。代码质量的检查和优化。4....使用第三方工具和自动化验证NuGet Package Explorer:包内容检查和手动验证。GitHub Actions 和 Azure Pipelines 等 CI/CD 工具中的自动化验证。

    3.5K10

    .net framework 4.0的NuGet包制作

    制作NuGet包,我是先从.NET Standard 2.0的SDK风格的文件去创建的,特别容易。但是.NET 4.0这种废了好大周折!...试过直接通过DLL生成,但是会遇到包描述、版本等信息不自动更新的问题,最重要的DLL所引用的NuGet.org的包,不能自动包含进去。...也试过通过命令行进行每个单独的Project进行生成,也遇到包描述、版本等信息不自动更新的问题。NuGet.Org的包没问题。...要确保MSBUILD和NUGET好用,需要找到系统环境变量,添加路径(记得重启电脑,以便生效)。...这样生成的包在Project的根目录,但是版本和描述信息呢都不对,请自动修改文件名和文件内部的描述文件内容。 用啥软件打开,7-ZIP即可,因为包就是一个压缩包。

    1.9K50

    vscode下nuget包的本地引入方法

    优势: nuget包的本地引入可以方便打包后的本地测试,确保打包正确、功能完善后再上传至nuget服务端 本地引入方式也极为简单,三步操作即可搞定,熟悉之后这个操作2分钟内就可以搞定 具体步骤(以引入Epic.RobotService...包为例) 准备好一个nuget包文件,并在要引入的项目中新建Packages文件夹,将nuget包放进该文件夹,目录结构和移动后效果如下图所示: 在*.csproj文件夹中添加 Packages属性...,如下图所示: 其中Packages为刚刚所创建的文件夹名称,和*.csproj在同一级目录,RestoreSources标签代表可以从本地指定文件夹中引入nuget包。...在项目目录下运行dotnet add package Epic.RobotService命令即可将本地包添加到项目中,效果如下:

    35410

    帮助官方 NuGet 解掉 Bug,制作绝对不会传递依赖的 NuGet 包

    如果你希望做一个 NuGet 工具包,那么这个包一定不能作为依赖传递给下一个包。典型的例子,做一个生成版本号的工具 NuGet 包,或者做一个代码分析器。...本文将解决 NuGet 的几个坑,真正做到绝对没有的依赖传递。 ---- 我们遇到了什么问题 如果你使用了 GitVersion 这款 NuGet 包来自动修改你的版本号,那么你可能会遇到这个问题。...如何创建一个基于命令行工具的跨平台的 NuGet 工具包 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 官方提供的解决方案 官方在非常早期的 2.7 版本就提供了 developmentDependency...▲ 项目的结构 以下是 A 项目的 csproj 文件,包含将 Package.targets 在打包 NuGet 包时改名的部分。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    1.2K50

    帮助官方 NuGet 解掉 Bug,制作绝对不会传递依赖的 NuGet 包

    典型的例子,做一个生成版本号的工具 NuGet 包,或者做一个代码分析器。 本文将解决 NuGet 的几个坑,真正做到绝对没有的依赖传递。...如何创建一个基于命令行工具的跨平台的 NuGet 工具包 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 官方提供的解决方案 官方在非常早期的 2.7 版本就提供了 developmentDependency...但实际上这个属性在后面版本的 NuGet 开发中就丢掉了。不生效。 官方提供了 IsTool 属性可以使用,但这依然不能阻止 B 安装了 A 包之后,C 包被迫安装 A 包的问题。...▲ 项目的结构 以下是 A 项目的 csproj 文件,包含将 Package.targets 在打包 NuGet 包时改名的部分。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    99220

    C# 搭建自己的NuGet服务器,上传自定义NuGet包

    关于.nupkg文件其实就是程序的安装包压缩文件,它包含了程序包的版本信息,dll及相关的外部依赖,NuGet安装包时会进行自动解压。...打包操作 打开NuGet Explorer 如何修改之前已经打好的包 修改包只需要删除之前Package contents中的dll引用 重新的添加然后保存即可。...NuGet自动恢复功能 通过命令方式编译项目是如何自动恢复NuGet包?...NuGet执行的相关步骤: 1.先检查package.config文件从上往下逐一扫描,当Package文件架为发现包则自动从服务器下载安装。 VS2012及后已经集成NuGet相关服务。...通过自定义NuGet可以维护代码中插件版本一致性,此外可将公共代码打包成NuGet包,提高了代码重用性。

    1.1K20

    C# 搭建自己的NuGet服务器,上传自定义NuGet包

    以上就成功部署了自己的NuGet服务器了。关于.nupkg文件其实就是程序的安装包压缩文件,它包含了程序包的版本信息,dll及相关的外部依赖,NuGet安装包时会进行自动解压。...打包操作 打开NuGet Explorer ? ? 如何修改之前已经打好的包 修改包只需要删除之前Package contents中的dll引用 重新的添加然后保存即可。...NuGet自动恢复功能 通过命令方式编译项目是如何自动恢复NuGet包?...NuGet执行的相关步骤: 1.先检查package.config文件从上往下逐一扫描,当Package文件架为发现包则自动从服务器下载安装。 VS2012及后已经集成NuGet相关服务。...通过自定义NuGet可以维护代码中插件版本一致性,此外可将公共代码打包成NuGet包,提高了代码重用性。

    2.1K50

    如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)

    运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号 下载并安装一下NuGetPackageExplorer:https...://github.com/NuGetPackageExplorer/NuGetPackageExplorer 创建一个包(vs其实也是可以制作的,我这边说最简单的方法) 添加资源包并修改metadata...保存一下 先说第一种上传方法: 自带的上传: 完事 还用这个软件,ctrl+P 输入网址和key(自己搭建的nuget也可以这么发布) key在这看: 如果你要自己搭Nuget也可以,安装一下NuGet.Server...即可,具体教程N多,我说下另一种搭建方法: 我的IDE是VS2015,不保证低版本可以用,不过可以试试 服务器设置一个共享文件夹 权限简单控制一下 vs中添加源 以后建项目就可以搜了 本地安装过的包都会在这个里面...:C:\Program Files (x86)\Microsoft SDKs\NuGetPackages 项目经理把包拷贝到开发服务器里面建个共享文件夹就ok了 收工

    1.7K60

    Roslyn 打包自定义的文件到 NuGet 包

    本文告诉大家如何在打包的时候加上需要放在包里面的文件 在 VisualStudio 使用新项目格式快速打出 Nuget 包 告诉大家快速打包的方法,但有时候我需要将本地的一些资源或依赖也放在包里面,此时就需要用到下面的方法...C++ 运行库,那么同样可以上面方法 另外在输出的时候也支持改名,例如在写 NuGet 的时候,在修改编译过程的 targets 和 props 文件是需要跟随包的名才能被执行。...包id.targets 才会被执行,对应的 props 文件也相同 如果是自己手写文件名,在更改 NuGet 包 id 的时候如果没有更改,或复制不对,那么会发现没有执行 简单的解决方法是在打包的时候自动修改对应的文件包...先在项目文件的 build 文件夹里面添加 package.targets 和 package.props 文件,在项目文件添加下面代码进行输出 使用 $(MSBuildThisFileDirectory) 拿到当前文件的文件夹,此时通过上一层文件就可以拿到 NuGet 包的文件夹。

    1K20

    Roslyn 开发 NuGet 包的 Task 编译可能遇到的问题

    在需要复杂的编译的时候,可以通过自己定义一个任务用来定义编译 如何入门开发请看 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 - walterlv 本文只会补充一些开发的过程会遇到的坑...4.7.2 和 .NET Standard 2.0 以上 判断当前编译器平台 在跨平台的开发可能用户使用的是 dotnet core 版本,于是需要一个 dotnet core 版本的 Task 让他进行编译....NET Framework 两个平台的不同的程序集文件 调用方法 假定在程序集 UsingMSBuildCopyOutputFileToFastDebug.dll 里面包含 UsingMSBuildCopyOutputFileToFastDebug.SafeOutputFileCopyTask...类,这个类继承 Task 类 而 UsingMSBuildCopyOutputFileToFastDebug.dll 存放在 NuGet 包的 AssemblyFile 属性下,这个属性的定义请看代码...Console.WriteLine("warning: 用户没有传入需要复制的文件"); 更多请看 如何在 MSBuild Target(Exec)中报告编译错误和编译警告 - walterlv 本文用到的代码开源在

    63810

    MSBuildRoslyn 和 NuGet 的 100 个坑

    ---- 系列博客 这是兄弟篇中的一篇,关于 MSBuild/Roslyn 和 NuGet 的 100 个坑: MSBuild/Roslyn 和 NuGet 的 100 个坑 由于这篇博客是大量坑的记录...,所以是它建立在你已经对 MSBuild/Roslyn 和 NuGet 有一些了解的基础之上的。...编译不通过后无法安装和更新 NuGet 包 有些情况下,会因为项目没有办法完成编译导致无法安装和更新某些 NuGet 包;但编译不通过其实就是这个 NuGet 包导致的(比如某个测试包)。...依赖的项目会自动转为依赖的 NuGet 包 如果你给一个项目 A 打 NuGet 包,但这个项目引用此解决方案中的另一个项目 B。那么这时打包,NuGet 会认为 A 包依赖于 B 包。...文件;其中 .nuget.g.props 和 .nuget.g.targets 中生成了 Import 包中编译相关文件的代码。

    1.5K20

    MSBuildRoslyn 和 NuGet 的 100 个坑

    系列博客 这是兄弟篇中的一篇,关于 MSBuild/Roslyn 和 NuGet 的 100 个坑: MSBuild/Roslyn 和 NuGet 的 100 个坑 由于这篇博客是大量坑的记录,所以是它建立在你已经对...MSBuild/Roslyn 和 NuGet 有一些了解的基础之上的。...编译不通过后无法安装和更新 NuGet 包 有些情况下,会因为项目没有办法完成编译导致无法安装和更新某些 NuGet 包;但编译不通过其实就是这个 NuGet 包导致的(比如某个测试包)。...依赖的项目会自动转为依赖的 NuGet 包 如果你给一个项目 A 打 NuGet 包,但这个项目引用此解决方案中的另一个项目 B。那么这时打包,NuGet 会认为 A 包依赖于 B 包。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    60530

    如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference)

    如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference) 发布于...然而迁移完才发现,这个项目竟然还依赖了大量的从 NuGet 2.x 时代发布的 NuGet 包,这些包并不能在 PackageReference 下好好工作。 于是,我准备将所有这些包都进行升级。...如果有一些行为依赖于此脚本,那么这个 NuGet 包的行为可能不正常。 但是,不用担心!...所以一小部分特别依赖于 install.ps1 的 NuGet 包是没有办法在新格式中生效的。...前面那一句的 PackageId 指的是这个 NuGet 包的包 Id。比如,在我的例子中,是 Walterlv.NuGetDemo.targets。 比如,生成的 Target 节点是这样的: <!

    80810
    领券