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

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

项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) 发布于 2018-05-10 13:49...更新于 2018-06-30 01:30 知道了 csproj 文件中的一些常用 NuGet 属性,创建 NuGet 包时就可以充分发挥新...---- “项目文件中的已知属性系列”分为两个部分: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) - 吕毅 本文:项目文件中的已知 NuGet 属性(使用这些属性,创建...例如 Pack 属性可以额外指定一或一组通配符文件需要被打包到 NuGet 包中;PackagePath 则指定了打包到 NuGet 包的路径(NuGet 会通过扩展名来自动识别这是文件夹还是文件,所以可以通过这个属性来重新指定名称... 引用的项目或包中的指定部分依然是本项目的依赖项,但是在打 NuGet 包时不作为依赖项(不会传递到下一个项目)。

2.6K10

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

从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目) - walterlv 如何创建一个基于 MSBuild Task 的跨平台的 NuGet...工具包 - walterlv 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 - walterlv 当我们创建的 NuGet 包中包含 .props 和 .targets 文件的时候,我们相当于在项目文件...NuGet 包都带有 .props 和 .targets 文件,那么就相当于帮助你 Import 了多个: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。...WPF 临时项目不会 Import NuGet 中的 props 和 targets 可能是 WPF 的 Bug,也可能是刻意如此。

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

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

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

    4K30

    知识分享之Golang——使用embed包实现静态资源打包至二进制文件中

    知识分享之Golang——使用embed包实现静态资源打包至二进制文件中 背景 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习...开发环境 系统:windows10 语言:Golang 组件库:gin golang版本:1.18 内容 当我们使用Golang进行开发web程序时,无法避免的会使用到static静态资源文件(前后端分离除外...),这时我们的程序打包后就会产生静态资源文件夹和一个二进制执行程序,本节我们就将其静态资源也打包进去,具体方式如下: 本节使用的golang标准库import "embed" 包,需要golang版本...1、创建需要使用的embed.FS对象 静态资源目录如下: image.png package assets import "embed" // 使用1.16特性编译阶段将静态资源文件打包进编译好的程序...2、在gin初始化时进行设置静态资源 r := gin.New() // 初始化默认静态资源 r.StaticFS("assets", http.FS(assets.Static

    99210

    无需安装 VS2019,在 Visual Studio 2022 中编译 .NET Framework 4.543.5 这样的古老框架

    因此,我们将通过安装此 NuGet 包来解决 Visual Studio 2022 中目标包的缺失问题。 正常你只需要在项目中安装这个 NuGet 包即可。...包相关路径还没有创建时马上完成 NuGet 包的还原以创建对应目录。...在使用了以上代码后,Visual Studio 2022 刚打开项目时会短暂提示缺少 .NET Framework 4.5 框架,但真正编译时此提示会消失。...于是这种方式安装的 NuGet 包不像其他的 NuGet 包那样可以传递到其他引用它的项目。...如果解决方案中存在这样的项目组织方式,你会发现其他项目都能编译通过,唯独这两个项目依旧死在缺少 .NET Framework 45 目标包上。解决方法就是把这两个项目拆开成两个文件夹。

    3.9K30

    开始第一个插件【适用于v1.2-1.3】

    安装nuget包 Nuget是什么?点击学习 本SDK是多目标平台的SDK。...可以根据你的需求安装对应的nuget包,我们将这些nuget包称为平台支持包详细罗列如下: 平台 nuget包 酷Q(https://cqp.im) Newbe.Mahua.CQP Amanda(http...除了安装平台支持包之外,还可以安装Newbe.Mahua.Tools.Psake这个nuget,我们称为开发工具包。 开发工具包提供了在开发过程中一些必要的自动化过程,例如版本打包等。...base.Load(builder); //将实现类与接口的关系注入到Autofac的Ioc容器中。如果此处缺少注册将无法启动插件。注意!!!...复制文件到机器人平台 在bin目录下会按照当前安装的平台生成相应的目录。本示例将会生成CQP和Amanda两个目录。 分别将两个目录中的文件复制到对应的机器人平台根目录。

    52300

    NuGet的使用心得

    在解决方案右键,点击【启用NuGet程序包还原】,各种确定后发现解决方案里多了个.nuget文件夹,我们暂且先不理是干嘛的。...在此之后,我们安装其他的程序包之后签入,会发现并未包含已安装的程序包,而需要签入的只是几个config文件和项目文件而已。...打开【引用】,发现几个从NuGet安装的组件库的确报黄色感叹号,不用着急,生成一次项目就可以了,可以从下方的生成信息里发现,解决方案缺少的程序包会自动从NuGet上自动下载与Package.config...换句话说,假如你在内部NuGet服务下载了程序包并签入了文件,但某个同事可能是新来的,vs的【程序包源】没有添加内部程序包源,就会导致无法自动下载程序包,导致编译报错。  ...另外,在更新程序包的时候,可能因为独占签出文件导致程序包更新失败的,可以在之前更新程序包的时候签出选择保持原有锁,或者在更新失败后,把更新失败组件库删除了,重新安装一次。

    2K20

    .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖

    ---- 以 NuGet 包的形式使用 ILRepack ILRepack 提供了可供你项目使用的 NuGet 包。...如果你在团队项目当中安装了 ILRepack 的 NuGet 包,那么无论团队其他人是否安装了 ILRepack 的工具,都可以使用 ILRepack 工具。...这可以避免要求团队所有成员安装工具或者将工具内置到项目的源代码管理中。...要以 NuGet 包的形式来使用 ILRepack,需要首先安装 ILRepack 的 NuGet 包: [NuGet GalleryILRepack](https://www.nuget.org/packages...(注意到项目文件中我有额外引用一个其他的 NuGet 包 Ben.Demystifier,这是为了演示将依赖进行合并而添加的 NuGet 包,具体是什么都没有关系,我们只是在演示依赖的合并。)

    3.6K50

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

    因为 Visual Studio 有强大的包管理器插件,所以即便是不熟悉 NuGet 命令的小伙伴也能轻松安装和管理 NuGet 包。...开发 Unity C# 脚本,说说根目录的那些 sln 和 csproj 文件 - walterlv 如何引用 dll 或者安装 NuGet 包 在 Unity 中,是给 C# 脚本引用 dll 或者安装...安装 NuGet 包 原生 Unity 项目不能直接安装 NuGet 包,但可以通过第三方插件实现。...原生 原生 Unity 项目并不能直接安装 NuGet 包,所以实际上对于 NuGet 包的引用是通过把包里的 dll 丢到 Plugins 文件夹来实现的。 既然如此,那就看如何丢进去更有效率了。...NuGet 包,也是从对应的文件夹中取出来 dll 丢到 Plugins 文件夹中。

    5.6K20

    开始第一个插件【适用于v1.0-1.1】

    安装nuget包 ? 打开nuget包管理器,搜索Mahua。根据你希望运行的机器人平台安装Newbe.Mahua.*的nuget包。...本示例希望运行在多个平台上,因此安装以下nuget包: Newbe.Mahua.CQP Newbe.Mahua.Amanda 若想要安装最新的开发版,可以勾选”包含预发行版”。...,将所有的类合并在同一个文件中,实际项目中可以根据要求分开放置 */ /// /// 本插件的基本信息 /// public...base.Load(builder); //将实现类与接口的关系注入到Autofac的Ioc容器中。如果此处缺少注册将无法启动插件。注意!!!...复制文件到机器人平台 在bin目录下会按照当前安装的平台生成相应的目录。本示例将会生成CQP和Amanda两个目录。 分别将两个目录中的文件复制到对应的机器人平台根目录。

    61200

    Visual Studio 2017 15.7 下的.NET Core

    CMake 集成支持CMake 3.11 和静态分析. Python项目支持智能感知中的类型提示, 并且添加了运行 MyPy 命令以查找代码中的键入错误。 在Python项目中支持畅达环境。...文稿 2.8包含在 Visual Studio 版本15.7 中。 在调试过程中, 我们改进了隼 HTTPs 支持。...当不需要解决方案或项目重新加载时, 我们从Git 中的分支签出中删除了阻止模式对话框。 在Git 中有一个选项可在 OpenSSL 和 SChannel 之间进行选择....Xamarin 的 Visual Studio 工具可以自动安装缺少的 android API 级别, Xamarin. android 项目。 Xamarin....我们为sideloaded APPX 程序包启用了自动更新. 您有用于迁移到 NuGet PackageReference的新工具. 我们添加了对NuGet 包签名的支持.

    4.4K80

    Visual Studio 2017 15.7 下的.NET Core

    CMake 集成支持CMake 3.11 和静态分析. Python项目支持智能感知中的类型提示, 并且添加了运行 MyPy 命令以查找代码中的键入错误。 在Python项目中支持畅达环境。...文稿 2.8包含在 Visual Studio 版本15.7 中。 在调试过程中, 我们改进了隼 HTTPs 支持。...当不需要解决方案或项目重新加载时, 我们从Git 中的分支签出中删除了阻止模式对话框。 在Git 中有一个选项可在 OpenSSL 和 SChannel 之间进行选择....Xamarin 的 Visual Studio 工具可以自动安装缺少的 android API 级别, Xamarin. android 项目。 Xamarin....我们为sideloaded APPX 程序包启用了自动更新. 您有用于迁移到 NuGet PackageReference的新工具. 我们添加了对NuGet 包签名的支持.

    4.3K50

    从零开始学习 dotnet 编译过程和 Roslyn 源码分析

    文件定义编译 - 林德熙 使用 MSBuild 响应文件 (rsp) 来指定 dotnet build 命令行编译时的大量参数 - 吕毅 NuGet 基础 项目文件中的已知 NuGet 属性(使用这些属性...,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅 可以使用 NuGet 做一些不是传统 dll 引用的功能: Roslyn 通过 nuget 统一管理信息 - 林德熙 Roslyn...NuGet 工具包 - 吕毅 在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中 - 吕毅 NuGet 的坑很多,有些可以解,有些需要规避: 帮助官方 NuGet...替换占位符方式生成 nuget 打包 - 林德熙 Roslyn 通过 Target 修改编译的文件 - 林德熙 将 .NET Core 项目打一个最简单的 NuGet 源码包,安装此包就像直接把源码放进项目一样...UWP 程序 - 吕毅 dotnet core 通过修改文件头的方式隐藏控制台窗口 - 林德熙 使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning

    1.1K40

    .NET9 Linux AOT Json序列化

    在使用 .NET 的 AOT 编译时,需要使用这些工具来处理本机代码的链接。解决这个问题的步骤如下: 安装必要的工具 你需要确保在 Linux 系统上安装了 clang 或 gcc。...以下是如何在常见的 Linux 发行版上安装这些工具的步骤: Ubuntu 更新软件包列表: sudo apt update 安装 clang 和 gcc: sudo apt install clang...以下是一些可能的原因和解决方案: 检查依赖库 缺少依赖库: 确保你已经安装了所有必需的开发库。...检查项目文件或构建配置中是否有自定义的链接器选项,确保它们是正确的。...检查代码中使用的库 如果你的项目中使用了某些特定的 C++ 或本地库,确保它们的头文件和库文件在 Linux 环境中是可用且兼容的。

    49010

    .NET9 Linux AOT Json序列化

    在使用 .NET 的 AOT 编译时,需要使用这些工具来处理本机代码的链接。解决这个问题的步骤如下: 安装必要的工具 你需要确保在 Linux 系统上安装了 clang 或 gcc。...以下是如何在常见的 Linux 发行版上安装这些工具的步骤: Ubuntu 更新软件包列表: sudo apt update 安装 clang 和 gcc: sudo apt install clang...以下是一些可能的原因和解决方案: 检查依赖库 缺少依赖库: 确保你已经安装了所有必需的开发库。...检查项目文件或构建配置中是否有自定义的链接器选项,确保它们是正确的。...检查代码中使用的库 如果你的项目中使用了某些特定的 C++ 或本地库,确保它们的头文件和库文件在 Linux 环境中是可用且兼容的。

    56310

    从零开始制作 NuGet 源代码包(全面支持 .NET Core .NET Framework WPF 项目)

    默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll)。除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包。...-- 创建 NuGet 包时,项目的输出文件对应到 NuGet 包的 tools 文件夹,这可以避免目标项目引用我们的 NuGet 包的输出文件。...-- 此包将不会传递依赖。意味着如果目标项目安装了此 NuGet 包,那么安装目标项目包的项目不会间接安装此 NuGet 包。...如果我们需要加入到源代码包中的代码包含 WPF 的 XAML 文件,或者安装我们源代码包的目标项目包含 WPF 的 XAML 文件,那么这个 NuGet 源代码包直接会导致无法编译通过。...-- 此包将不会传递依赖。意味着如果目标项目安装了此 NuGet 包,那么安装目标项目包的项目不会间接安装此 NuGet 包。

    1.9K20
    领券