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

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

我在开发的时候需要使用到一些 DEBUG 库进行调试,但是我的库是通过 NuGet 给用户的,如果在 NuGet 里面使用到了 DEBUG 的库那么会让代码的运行效率降低。...于是我就找到一个方法,可以在 NuGet 同时打包调试和发布的包,这样在用户调试的时候就可以使用调试的代码 我在一个库写代码,我需要做一点黑科技,让吕毅 在调试的时候输出的是 林德熙是逗比,但是在他发布的时候却输出吕毅是逗比那么我需要如何做...的方法创建一个 NuGet 包,这是 VisualStudio 2017 的 VisualStudio 使用新项目格式快速打出 Nuget 包 功能很好用 ?...sln 创建项目,所以写的文件夹都是相对的,文件夹请看 代码 为了引用到测试项目的输出需要添加 nuget.config 文件,通过在命令行输入 dotnet new nuget 就可以成功创建,创建完成需要修改相对文件夹...,在发布下使用发布的代码,需要添加一个 LerewararraNurfabeyo.targets 文件在调试的时候引用调试的代码 这里的 targets 文件的命名要求是 nuget 包对应的 id 同时放在

2.4K30

.net core2 类库发布,更新nuget包。

打包 网上关于打包发布nuget包的文章有很多。我这里记录的是.net core项目特殊的地方,它可以使用 dotnet pack 命令来打包。...简单 发布 nuget push 包名.nupkg ? 提示要填入source参数 nuget.exe push 包名.nupkg -Source https://www.nuget.org ?...发布成功 这样就将包发布到https://www.nuget.org上了,如果要发布到内网私有的nuget管理,这个地址也要替换成私有的地址。 ? 还要等等 过段时间便能收索到了 ?...我在环境变量里配置了nuget.exe 的路径,所以可以直接在命令行中使用nuget命令。 发布前需要设置setApiKey。...nuget setApiKey 你的apikey 或者在发布的时候添加 nuget.exe push 包名.nupkg -Source 地址 -ApiKey 你的apikey

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

    包治百病 | 如何将一个.NET Core类库发布到NuGet

    NuGet是.NET世界的包管理器,有官方的nuget.org,也允许构建公司和私人的服务器。在.NET Core的时代,封装一个NuGet包比以往更容易,我们来看看吧!...NuGet账号 如果你想和微软一起予力众生,让全世界的.NET程序员都能用上你的包,远离996,那么你就需要有个nuget.org的账号,用来上传自己的包。...使用 VS2019 创建NuGet包 以我的一个类库Edi.Blog.Pingback为例,开发完成以后,在项目文件上点右键,打开属性对话框。 ?...比如我的这个包,是在NuGet用MIT协议开源的,我就可以填写仓库地址(Repository URL),以及协议。就算不是开源的包,也建议大家填写协议。...使用Release是因为面对的是生产环境,希望最终用户使用编译器优化过的dll。 // 其实,一个NuGet包可以同时包含Release和Debug两个版本的dll,不在本文讨论范围内。 ? ? ?

    1.3K30

    自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference

    PackageReference 要求只能引用在某个目标框架下的程序集。 如果是使用默认的方式创建的 NuGet 包,基本上不会遇到这样的问题。...除非你在创建 NuGet 包时有自定义操作在根目录放了程序集。 解决升级后的编译错误 最可能出现的编译问题是 NuGet 包引用的版本冲突。...而 PackageReference 的引用方式是自动管理依赖版本的,只要每个包都在允许的版本范围之内,就自动选择版本,并显示在解决方案的引用中。...4.0.0) 也就是说,引用的两个不同的包要求依赖相同包的不同版本,于是 PackageReference 无法隐式推断依赖包的版本。...关于如何指定非特定版本的依赖包,可以阅读 Version ranges and wildcards 版本范围和通配符。

    2.2K20

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

    最后有两项特别重要了; Dependencies:依赖,这个包是否依赖其它的包,当然你可以把依赖的其他包直接拷贝包含进来,但是这就完全违背了nuget的初衷,如果你所依赖的项目没有nuget包,你可以联系原作者后者帮助打包为...Framework Assenbly Reference:这里描述了在安装这个包时会被同时引用的程序集,你可以按照不同的.NET Framework版本区分指定它们。...添加要包含的文件 在最终的nuspec文件中,可以通过设置files的xml节点来逐个指定要包含的文件,但是这样nuget就会完全忽略按照文档结构的约定包含的文件,在大多数情况下,我们不需要去手动指定它...在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。...在lib文件夹中,我们可以指令在不同的.net framework版本中,要包含的不同文件的引用,我们可以在任意目录中包含它们,而并不只是在lib文件夹中。

    1.7K60

    如何在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.8K60

    Unity3D 入门:为 Unity 的 C# 项目添加 dll 引用或安装 NuGet 包

    背景 对于传统 .NET/C# 的开发者来说,在解决方案中管理 NuGet 包,在 C# 项目中引用 dll 或 NuGet 包是家常便饭。...开发 Unity C# 脚本,说说根目录的那些 sln 和 csproj 文件 - walterlv 如何引用 dll 或者安装 NuGet 包 在 Unity 中,是给 C# 脚本引用 dll 或者安装...当然,引用 NuGet 包的话更推荐非官方的方法,详见: 如何管理 Unity 项目中的 NuGet 包?...原生 原生 Unity 项目并不能直接安装 NuGet 包,所以实际上对于 NuGet 包的引用是通过把包里的 dll 丢到 Plugins 文件夹来实现的。 既然如此,那就看如何丢进去更有效率了。...第三方 更推荐非官方的方法,详见: 如何管理 Unity 项目中的 NuGet 包?

    5.6K20

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

    如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference) 发布于...然而迁移完才发现,这个项目竟然还依赖了大量的从 NuGet 2.x 时代发布的 NuGet 包,这些包并不能在 PackageReference 下好好工作。 于是,我准备将所有这些包都进行升级。...关于自动迁移 NuGet 包管理方式,可以阅读:自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference - 吕毅。...如果有一些行为依赖于此脚本,那么这个 NuGet 包的行为可能不正常。 但是,不用担心!...所以一小部分特别依赖于 install.ps1 的 NuGet 包是没有办法在新格式中生效的。

    91410

    Roslyn 如何获得一个类的引用

    本文告诉大家如何在 Rosyln 编译一个文件,获得这个文件的类的命名空间 在 C# 代码里面,大部分的代码都是在开始定义了 using 引用命名空间,本文将告诉大家如何使用 Roslyn 分析获取类文件里面引用的命名空间...在开始之前,先使用 NuGet 安装必要的库,如 Microsoft.CodeAnalysis.Compilers 库。...在读取出来了语法树,还需要编写分析的代码,分析代码的方法就是编写一个继承 CSharpSyntaxWalker 的类用来作为分析的辅助类 按照约定,咱编写 ModelCollector 类,代码如下...但是 ModelCollector 类还没有任何的代码,期望获取当前类文件的 using 引用文件,可以通过在 ModelCollector 重写 VisitUsingDirective 方法的方式获取...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    1.9K20

    C#.NET 如何创建带有本机依赖的多框架多系统 NuGet 包

    正常如果你想写一个 .NET 的 NuGet 包,直接打包就好了,你的引用程序集会出现在 NuGet 包内的 lib 文件夹内。然而,如果我们的 NuGet 包包含本机依赖的话怎么办呢?...---- 我们的项目需求 假设我们要做一个 NuGet 包 Walterlv.MixPackage,包含以下内容: 一个要被引用的托管程序集 Walterlv.MixPackage.dll 一个封装了本机代码的...所以如果你不是有特别需要的话,最好还是选单包。 第一步:创建一个普通的类库 第二步:将本机依赖文件拷至对应文件夹下 这里,我们建了一个“Assets”文件夹,用来放 NuGet 的零散文件。...(实际上是可以正常引用并编译通过的,但在 .NET Core 框架下无法运行。) 第四步:再建一个普通的类库 再建一个普通的类库,引用之前创建的项目。...现在两个项目的职责分别为: 原来的类库:负责提供本机动态链接库和 C++/CLI 程序集 新的类库:负责提供托管程序集,并标记引用原来的包 编辑新项目的 csproj 文件。

    1.9K50

    如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

    如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 发布于 2018-05-11 16:04...我分为两篇可以减少完成单个任务的理解难度: 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 第零步:前置条件 第一步...所以请将所有的 NuGet 包资产都声明成私有的,方法是在 NuGet 包的引用后面加上 PrivateAssets="All"。...为 Class1 类改一个名字。这个类将成为我们这个 NuGet 工具包的入口类。...第二步:组织 NuGet 目录 刚刚生成的 NuGet 包还不能真正拿来用。事实上你也可以拿去安装,不过最终的效果只是加了一个毫无作用的引用程序集而已(顺便还带来一堆垃圾的间接引用)。

    1.9K10

    Unity3D 入门:如何管理 Unity 项目中的 NuGet 包?使用第三方 NuGet 包管理器——NuGetForUnity

    Unity 项目虽然可使用 C# 项目作为脚本,却并没有提供一种类似 NuGet 的第一方包管理器。不过,还是有第三方包管理器可以用,为 C# 脚本应用现有的库提供方便。...安装 NuGet 包 就从上面所述的菜单那里打开,你可以进入 NuGet 包的搜索与安装界面。输入并找到你想安装的 NuGet 包,然后点击 Install 即可。...还原 NuGet 包 正常情况下,你打开别人上传到版本管理中的仓库后,仅仅启动 Unity 编辑器就可以完成 NuGet 包的还原。...在微软的 文档中,描述 NuGet 包安装的方法是手工的,对于普通的没有依赖的 NuGet 包来说问题不大,不过如果 NuGet 包包含依赖的话,那手工处理的工作量就有点大了,尤其是依赖有嵌套,出现层层嵌套的依赖的时候...关于手工安装 NuGet 包的方式,我在另一篇入门文档当中也有说到过: Unity3D 入门:为 Unity 的 C# 项目添加 dll 引用或安装 NuGet 包 - walterlv 参考资料 GlitchEnzo

    4.1K41

    如何创建一个基于命令行工具的跨平台的 NuGet 工具包

    如何创建一个基于命令行工具的跨平台的 NuGet 工具包 发布于 2018-05-12 01:09 更新于...我分为两篇可以减少完成单个任务的理解难度: 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 第零步:前置条件 第一步...事实上你也可以拿去安装,不过最终的效果只是加了一个毫无作用的引用程序集而已(事实上就是把你写的程序作为普通 dll 引用了)。...那么,如何改造我们的项目才能够生成这样的 NuGet 目录结构呢? 我们先在 Visual Studio 里建好文件夹: ?...然而命令行调用与 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 - 吕毅 中所写的 Task 不同,命令行调用的后面是不能够立刻应用命令行调用的结果的,因为此时命令还没有结束

    1.5K20

    在制作跨平台的 NuGet 工具包时,如何将工具(exedll)的所有依赖一并放入包中

    在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中 2018-07-03 13:30 NuGet 提供了工具类型的包支持...但是,默认情况下,NuGet 不会将这些工具的依赖一起打包进入 NuGet 包 nupkg 文件内,这就使得功能比较复杂的跨平台 NuGet 工具包几乎是无法正常工作的。...本文将介绍将这些依赖加入 NuGet 包中的方法,使得复杂的工具能够正常使用。...典型的例子,我正在做一个基于 Roslyn 的 NuGet 工具包。于是整个 Roslyn 的大量 dll 都是我的依赖。但默认情况下,打出来的包并不包含 Roslyn 相关的 dll。...然后,我们就可以把输出目录中除了 NuGet 自然而然会帮我们打入 NuGet 包中的所有文件都加入到 NuGet 包中的对应目录下。 具体来说,是将下面的 Target 添加到项目文件的末尾。

    4K30

    .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    buildOptions buildOptions节点定义了如何编译和编译哪些文件等,也就是编译选项。编译选项部分包含一些有用的属性。...,它也是Nuget包,其中包含了一堆系统库的NuGet程序包,包含.netcore的基础运行时和基础类库。...如果一个类库指定.NET平台标准1.3版本,那么它能够引用(原文:consume)所有来自之前的.NET平台标准的版本(1.2、1.1、1.0)。...现在,想像你如果为此框架引用 NuGet 包,但有时怀疑可能存在需要修复的缺陷或可能存在一个批准的增强功能。通常,这需要独立于项目/解决方案处理组件中的源代码。...本文简要介绍了.NET Core项目中最为重要的一个配置文件project.json的内容和相关的工具,类库等基础信息,下篇文章我们来聊聊如何构建多个Project的解决方案的内容。

    3K80

    库中是如何实现string类的?

    个人主页: :✨✨✨初阶牛✨✨✨ 推荐专栏1: C语言初阶 推荐专栏2: C语言进阶 个人信条: 知行合一 本篇简介:>:讲解如何模拟实现C++中的string类....size_t _size; //当前字符有效个数 }: 框架图: 一、构造函数与析构函数 (1) 无参构造: 我们可以试着看一下库里面是如何赋值的...申请一块为_capacity+1大小的空间.(+1是为了存储'\0') 将字符串中的值按字节拷贝至string类中的_str....迭代器的作用类似于指针,可以通过解引用操作符(*)获取容器中的元素值,也可以通过自增操作符(++)移动迭代器指向下一个元素。迭代器可以访问容器中的元素,也可以修改容器中的元素值。...(*this == s); } 博主能力有限,无法严格按照库中的方法实现,比如采用内存池等技术,还有部分函数并未实现,模拟实现string的目的只是为了我们更好的理解string类,而不是真正让我们去写一个库函数

    66210

    .NET Core 系列5 :使用 Nuget打包类库

    已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。...这个操作的结果是两个 nupkg 扩展名的包。一个包含代码,另一个包含调试符号。 该项目被依赖的 NuGet 包装被添加到 nuspec 文件,因此,他们能够在安装包时得到解决。...dotnet pack --no-build --output nupkgs 打包当前的项目到指定的文件夹中,并跳过生成步骤 回到我们在.NET Core系列 :3 、使用多个项目 创建的类库项目DotnetNewLib...这意味着,我们 NuGet 包只适用于.Net Core 应用程序 针对 NetStandard1.6 (和即将到来的 4.6.3),文章 拥抱.NET Core,如何开发一个跨平台类库 (1) 对Nuget...包做了很好的说明了,推荐大家阅读, 园子里还有一篇《用命令行工具创建 NuGet 程序包》对Nuget 的详细内容做了讲解。

    1.8K50
    领券