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

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

于是我就找到一个方法,可以在 NuGet 同时打包调试和发布的包,这样在用户调试的时候就可以使用调试的代码 我在一个库写代码,我需要做一点黑科技,让吕毅 在调试的时候输出的是 林德熙是逗比,但是在他发布的时候却输出吕毅是逗比那么我需要如何做...的方法创建一个 NuGet 包,这是 VisualStudio 2017 的 VisualStudio 使用新项目格式快速打出 Nuget 包 功能很好用 ?...,在发布下使用发布的代码,需要添加一个 LerewararraNurfabeyo.targets 文件在调试的时候引用调试的代码 这里的 targets 文件的命名要求是 nuget 包对应的 id 同时放在...release // 输出吕毅是逗比 通过这个方法就可以在库同时包含调试的代码和发布的代码,因为在调试的代码可以添加很多影响性能的代码,所以通过这个方法可以方便调试也提高发布代码的效率,但是需要自己写一个...需要在 targets 文件在不同的版本使用不同的库 所有代码请看 github Roslyn 使用 Directory.Build.props 文件定义编译 Roslyn 使用 Directory.Build.props

2.4K30

在项目文件 MSBuild NuGet 包中编写扩展编译的时候,正确使用 props 文件和 targets 文件

从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目) - walterlv 如何创建一个基于 MSBuild Task 的跨平台的 NuGet...工具包 - walterlv 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 - walterlv 当我们创建的 NuGet 包中包含 .props 和 .targets 文件的时候,我们相当于在项目文件...-- 当生成 WPF 临时项目时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。...WPF 临时项目不会 Import NuGet 中的 props 和 targets 可能是 WPF 的 Bug,也可能是刻意如此。...,同时有更好的阅读体验。

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

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

    添加要包含的文件 在最终的nuspec文件中,可以通过设置files的xml节点来逐个指定要包含的文件,但是这样nuget就会完全忽略按照文档结构的约定包含的文件,在大多数情况下,我们不需要去手动指定它...files节点可以包含file子节点,它包含src和target两个属性,来分别制定要包含的文件路径和目标路径,在src中还可以使用*和**通配符,想要了解更详细的说明,请参阅http://docs.nuget.org...在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。...在lib文件夹中,我们可以指令在不同的.net framework版本中,要包含的不同文件的引用,我们可以在任意目录中包含它们,而并不只是在lib文件夹中。...上文中提到过,党Content文件夹中包含了后缀名为.transform的文件时,nuget将会merge目标文件,比如示例中使用的就是一个ASP.NET MVC扩展的包,它可以提供给ASP.NET MVC

    1.7K60

    项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)

    ---- “项目文件中的已知属性系列”分为两个部分: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) - 吕毅 本文:项目文件中的已知 NuGet 属性(使用这些属性,创建...-- 如果指定为 true,那么还会额外生成 PackageId.symbols.nupkg 包, 除了原有包的内容外,还额外包含全部的输出文件,以及源码和项目文件,用于调试。...例如 Pack 属性可以额外指定一或一组通配符文件需要被打包到 NuGet 包中;PackagePath 则指定了打包到 NuGet 包的路径(NuGet 会通过扩展名来自动识别这是文件夹还是文件,所以可以通过这个属性来重新指定名称... 引用的项目或包中的指定部分是本项目的依赖项。默认为 all。 引用的项目或包中的指定部分不是本项目的依赖项,应该排除。...如果你正试图用 NuGet 编写一个编译时工具,那么,你可能需要在所有引用的最后加上如下行,将所有的包引用都设为 PrivateAssets。

    2.6K10

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

    本文告诉大家如何在打包的时候加上需要放在包里面的文件 在 VisualStudio 使用新项目格式快速打出 Nuget 包 告诉大家快速打包的方法,但有时候我需要将本地的一些资源或依赖也放在包里面,此时就需要用到下面的方法...,在修改编译过程的 targets 和 props 文件是需要跟随包的名才能被执行。...例如在 Roslyn 通过 Target 修改编译的文件 写到的替换编译文件,此时要求对应的文件有规定的命名 在 NuGet 里面,要求执行的 targets 文件必须满足命名要求,需要命名为 NuGet...包id.targets 才会被执行,对应的 props 文件也相同 如果是自己手写文件名,在更改 NuGet 包 id 的时候如果没有更改,或复制不对,那么会发现没有执行 简单的解决方法是在打包的时候自动修改对应的文件包... 使用 $(MSBuildThisFileDirectory) 拿到当前文件的文件夹,此时通过上一层文件就可以拿到 NuGet 包的文件夹。

    1.2K20

    Nodejs中读取文件目录中的所有文件

    关于Nodejs中的文件系统即File System可以参考官方Node.js v12.18.1的文档File system Nodejs中的fs模块 fs模块提供了一种API,用于以与标准POSIX函数紧密相似的方式与文件系统进行交互...使用fs模块: const fs = require('fs'); 所有文件系统操作都具有同步和异步形式。 异步形式始终将完成回调作为其最后一个参数。...举个例子,我想读取上一级目录下的所有文件 同步读取上级目录下的所有文件 如果采用同步读取的话,可以使用fs模块的readdirSync方法,示例如下: const fs = require('fs');...// 同步读取上级目录下的所有文件到files中 const files = fs.readdirSync('../'); console.log(files); 异步读取上级目录下的所有文件 如果采用异步读取的话...,可以使用fs模块的readdirSync方法,示例如下: const fs = require('fs'); // 异步读取上级目录下的所有文件 fs.readdir('../', function

    17.9K40

    通过 mklink 收集本地文件系统的所有 NuGet 包输出目录来快速调试公共组件代码

    本文介绍如何本地打包发布 NuGet 包,然后通过 mklink 收集所有的本地包达到快速调试的目的。...中打开 工具 -> 选项 -> NuGet 包管理器 -> 包源 可以直接将一个本地文件夹设置称为 NuGet 包源。...重新编译一下项目,文件夹中的 NuGet 包即会更新。...于是,这相当于我在一个文件夹中,包含了我整个计算机上所有库项目的 NuGet 包,只需要将这个文件夹设置称为 NuGet 包源,即可直接调试本地任何一个公共组件库打出来的 NuGet 包。...设置源并体验快速调试 如下图,是我将那个收集所有 NuGet 文件夹的目录设置成为了 NuGet 源: 于是,我可以在 Visual Studio 的包管理器中看到所有还没有发布的,依然处于调试状态的各种库

    49820

    可集成到文件管理器,一句 PowerShell 脚本发布某个版本的所有 NuGet 包

    不过,如果你有很多的 NuGet 包并且经常需要推送的话,也可以集成到 Directory Opus 或者 Total Commander 中。...://api.nuget.org/v3/index.json 或者推送此文件夹下 0.8.0-alpha 版本的所有 NuGet 包: 1 nuget.exe push *.0.8.0-alpha.nupkg...当前选中的文件,我用正则表达式匹配出其版本号和后面的 .nupkg 后缀 将正则表达式匹配出来的文本作为 nuget push 的包,最终生成的命令会非常类似于本文一开始提到的命令 nuget push...*.0.8.0-alpha.nupkg -Source https://api.nuget.org/v3/index.json 于是,当我选中了一个包,按下这个工具栏按钮之后,就可以推送与这个包相同版本的所有的...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

    74930

    在 Linux 中重命名文件夹中的所有文件

    在Linux系统中,有时候我们需要批量重命名文件夹中的所有文件,以便更好地组织和管理文件。本文将详细介绍几种在Linux中重命名文件夹中所有文件的方法,包括使用命令行工具和脚本等方式。...下面是使用mv命令重命名文件夹中所有文件的步骤:打开终端并进入包含要重命名文件的文件夹。使用mv命令和通配符*来匹配所有文件。...它支持使用正则表达式来匹配和替换文件名。以下是使用rename命令重命名文件夹中所有文件的步骤:打开终端并进入包含要重命名文件的文件夹。使用rename命令来执行批量重命名操作。...然后,在终端中运行以下命令来执行脚本:bash rename_script.sh脚本将遍历文件夹中的所有文件,检查文件的扩展名是否为.txt,如果是,则将其重命名为.md。...使用mv命令可以直接在命令行中执行简单的重命名操作,适用于简单的文件名修改。通过结合通配符和新旧文件名模式,我们可以轻松地重命名文件夹中的所有文件。

    12.5K40
    领券