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

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

最后有两项特别重要了; Dependencies:依赖,这个包是否依赖其它的包,当然你可以把依赖的其他包直接拷贝包含进来,但是这就完全违背了nuget的初衷,如果你所依赖的项目没有nuget包,你可以联系原作者后者帮助打包为...files节点可以包含file子节点,它包含src和target两个属性,来分别制定要包含的文件路径和目标路径,在src中还可以使用*和**通配符,想要了解更详细的说明,请参阅http://docs.nuget.org...在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。...上文中提到过,党Content文件夹中包含了后缀名为.transform的文件时,nuget将会merge目标文件,比如示例中使用的就是一个ASP.NET MVC扩展的包,它可以提供给ASP.NET MVC...发布包 最后,使用GUI工具发布包当然是简单的令人发指了,点击工具栏中的File->publish就可以简单的发布你定义的包了,Puslish key来自于你的nuget账户的个人信息页面 ?

1.7K60

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

正常如果你想写一个 .NET 的 NuGet 包,直接打包就好了,你的引用程序集会出现在 NuGet 包内的 lib 文件夹内。然而,如果我们的 NuGet 包包含本机依赖的话怎么办呢?...---- 我们的项目需求 假设我们要做一个 NuGet 包 Walterlv.MixPackage,包含以下内容: 一个要被引用的托管程序集 Walterlv.MixPackage.dll 一个封装了本机代码的...包含构建时的一些自定义任务(如果有的化),可随着包依赖而传递执行。 + lib - 必须。放你最终被引用的托管程序集,将被引用。 + ref - 看情况,可能必须可能可选。...同时包含托管依赖和 C++/CLI 依赖的“双包”,其特点为项目会直接使用 C++/CLI 程序集里的类型。 分别介绍制作方法。 本机依赖包(单包) 单包特别好打。...++/CLI 程序集 Walterlv.PackageDemo:包含托管程序集,同时依赖前者 使用效果 当你将两个 NuGet 包都推送到 NuGet 服务器上去之后,你就可以在你的业务中使用这两个

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

    使用 PerfCollect 跟踪 .NET 应用程序

    本文适用于:✔️ .NET Core 2.1 SDK 及更高版本 在 Linux 上遇到性能问题时,可使用 perfcollect 收集跟踪,以便收集有关出现性能问题时计算机上发生的状况的详细信息。...若要解析本机运行时 DLL 的方法名称(例如 libcoreclr.so),perfcollect 将在转换数据时为其解析符号,但前提是存在这些二进制文件的符号。...crossgen 是用于创建自包含应用的 NuGet 包的一部分,因此获取正确版本的 crossgen 的一种方法是创建应用程序的自包含包。...创建自包含应用程序的副作用是 dotnet 工具会下载名为 runtime.linux-x64.microsoft.netcore.app 的 NuGet 包,并将其置于目录 ~/.nuget/packages...此后,当你运行 perfcollect 时,应获取本机 dll 的符号名称。

    1.7K20

    WPF dotnet 使用本机映像 native 优化 dotnet framework 二进制文件

    这个库适用于 .NET Framework 大于等于 4.6.2 的应用。这个包的作用是在构建时添加一个步骤,这个步骤的作用是构建本机映像二进制文件。...为了使用本机映像编译器就需要配置自己的项目特别为 x86 或 x64 构建 如果一个解决方案里面包含了多个项目,只需要设置入口项目,也就是启动项目作为 x86 或 x64 进行构建。...,新建 x86 和 x64 平台,请确保勾选了从 AnyCPU 复制选项 中文版界面请看下图 注意,设置为 AnyCPU 不支持使用本机映像编译器构建 添加 NuGet 包 这个本机映像编译器是通过...NuGet 包分发,可以通过在 WPF 或 WinForms 等项目添加 Microsoft.DotNet.Framework.NativeImageCompiler 库的方式让项目使用本机映像编译器优化...A: 这个优化的二进制文件将包含托管代码和本机代码,会让最终输出的文件更大 Q: 我是否可以在项目中使用这个技术?

    1.5K20

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

    一篇介绍写基于 MSBuild Task 的 dll,一篇介绍写任意的命令行工具,可以是用于 .NET Framework 的 exe,也可以是基于 .NET Core 的 dll,甚至可以是使用本机工具链编译的平台相关的各种格式的命令行工具...要点 2: 注意,我们使用 NuGet 包来依赖 Task 框架,但此 NuGet 包要求的最低 .NET Framework 版本为 4.6。...NuGet 包就会出现在项目的输出目录 bin\Debug 下了。...而且——我们甚至能够直接在 Walterlv.Debug 项目的中使用这个编译中生成的新类。 ? 使用编译生成的新类既不会报错,也不会产生警告下划线,就像原生写的类一样。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    1.9K10

    制作通过 NuGet 分发的源代码包时,如果目标项目是 WPF 则会出现一些问题(探索篇,含解决方案)

    在使用 NuGet 包来分发源代码时,如果目标项目是 WPF 项目,那么会有一大堆的问题。 本文将这些问题列举出来并进行分析。...---- 源代码包 源代码包不是 NuGet 官方的概念,而是林德熙和我在 GitHub 上做的一个项目,目的是将你的项目以源代码的形式发布成 NuGet 包。...用于打源代码包的项目 Walterlv.SourceYard.Demo 为了尽可能避免其他因素的影响,我们这个源码包只做这些事情: 包含一个 targets 文件,用于给目标项目引入源代码; 包含一个几乎没有什么代码的...在那篇博客中,我们解释到新生成的项目文件会使用 ReferencePath 替代其他方式收集到的引用,这就包含项目引用和 NuGet 包的引用。...在使用 ReferencePath 的情况下,无论是项目引用还是 NuGet 包引用,都会被换成普通的 dll 引用,因为这个时候目标项目都已经编译完成,包含可以被引用的程序集。

    1K40

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

    一篇介绍写基于 MSBuild Task 的 dll,一篇介绍写任意的命令行工具,可以是用于 .NET Framework 的 exe,也可以是基于 .NET Core 的 dll,甚至可以是使用本机工具链编译的平台相关的各种格式的命令行工具...; } } } 这时进行编译,我们的 NuGet 包就会出现在项目的输出目录 bin\Debug 下了。 ?...(如果你想了解更多 csproj 中的 NuGet 属性,可以阅读我的另一篇文章:项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅)...关于这些属性更详细的解释,依然可以参见:项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅。...而且——我们甚至能够直接在 Walterlv.Debug 项目的中使用这个编译中生成的新类。 ? 使用编译生成的新类既不会报错,也不会产生警告下划线,就像原生写的类一样。

    1.5K20

    内网搭建NuGet服务器,实现像Maven管理jar包一样,管理dll,搭建公司内部的dll管理平台

    内网搭建NuGet服务器,实现像Maven管理jar包一样,管理dll,搭建公司内部的dll管理平台,避免不同版本到处拷贝引起的版本冲突和dll更新混乱的问题 1.新建一个ASP.NET Web应用程序...选择空项目模板(注意,一定要是空项目,否则会引起一些不必要的问题): ? ? 2.在项目引用的右键菜单中,对应的管理NuGet程序包中,安装对应的NuGet.Server的包: ? ?...严重性 代码 说明 项目 文件 行 禁止显示状态警告 一些 NuGet 包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装。...你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.0”的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系程序包作者。...这种其工况下 使用net45也不对,使用net40和net45两个也不对,必须只能是net40下的一个对应dll,否则就无法正确安装。

    1.6K30

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

    使用 VS2019 创建NuGet包 以我的一个类库Edi.Blog.Pingback为例,开发完成以后,在项目文件上点右键,打开属性对话框。 ?...Package id 是最重要的,即最终用户安装你的NuGet包时,使用的ID。这和Product是不一样的。...使用Release是因为面对的是生产环境,希望最终用户使用编译器优化过的dll。 // 其实,一个NuGet包可以同时包含Release和Debug两个版本的dll,不在本文讨论范围内。 ? ? ?...但是在Listed之后,还是会有一个警告,意思是服务器的索引还没建完,用户搜不到该版本的包。...如果心急,可以等到显示Listed后,通过NuGet CLI或者编辑project文件,指定具体版本号去安装。 ? 等警告消失后,你的包就完完整整的ready了!赶紧向全世界分享你的成果吧~ ?

    1.3K30

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

    更新于 2018-06-30 01:30 知道了 csproj 文件中的一些常用 NuGet 属性,创建 NuGet 包时就可以充分发挥新...-- 如果 lib/**/*dll 中没有发现 dll,NuGet 打包过程中会有警告; 将这个属性设为 true 可以禁用警告;这在制作纯工具型 NuGet 包是非常有用。...-- 默认情况下,使用 dotnet pack 打 NuGet 包时,也会顺便编译; 但设置此值为 true 后,就会像 nuget.exe 那样不进行编译了。...-- 默认是 true,如果指定为 false,那么项目编译输出的 dll 文件将不会被打包到 NuGet 包中。... 引用的项目或包中的指定部分依然是本项目的依赖项,但是在打 NuGet 包时不作为依赖项(不会传递到下一个项目)。

    2.6K10

    .NET Standard中配置TargetFrameworks输出多版本类库

    这样只有 .net40 与 .net45 条件下才引用“System.Net.dll”。保存后,发现 netstand2.0 下面的警告标示消失了。...使用 SDK 样式项目时,生成系统可识别预处理器符号,这些符号表示支持的目标框架版本表中所示的目标框架。...MSBuild 项目中使用的每个 Property 元素必须是 PropertyGroup 元素的子元素。其包含如下的子元素 ? ? ?...静态文件如何指定复制行为等,或许会发现安装NuGet之后希望能编辑的文件仅仅只是一个链接而已,如何让它包含在项目里面呢,请参考微软官方文档 NuGet ContentFiles揭秘,带回解决方案级包的讨论...vs2017中,已不支持此功能,NuGet 3 - 什么和为什么-Powershell安装和卸载脚本 关于nuget包安装的相关行为估计都可以通过msbuild属性或者任务来搞定,这一切都是可以通过命令行来执行的

    4K21

    VisualStudio 2017 项目格式 自动生成版本号 添加注释防止警告生成的文件自动添加版本

    属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - walterlv 添加注释 如果需要在发布的 dll 添加 文档注释,那么请加下面代码 的文件会让 VisualStudio 编译时警告,使用下面代码可以让 VisualStudio 不分析生成的文件 的版本号和项目版本号相同,这样如果有人说某个nuget出现问题,可以很快找到是哪里的问题。...或者发布出去的包,可以通过查看 dll 的版本号就知道是哪个 Nuget 发布,因为 dll 的版本号和 nuget 的相同。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    3.1K20

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

    在需要复杂的编译的时候,可以通过自己定义一个任务用来定义编译 如何入门开发请看 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包 - walterlv 本文只会补充一些开发的过程会遇到的坑...dotnet core 和 .NET Framework 两个平台的不同的程序集文件 调用方法 假定在程序集 UsingMSBuildCopyOutputFileToFastDebug.dll 里面包含...存放在 NuGet 包的 AssemblyFile 属性下,这个属性的定义请看代码 使用的是列表那么在编译时将会提示 C:\Users\lindexi.github.io\.nuget\packages\dotnetcampus.usingmsbuildcopyoutputfiletofastdebug...输出消息 输出消息请使用 Console.WriteLine 就可以输出 输出警告和错误也使用 Console.WriteLine 方法,只是需要添加前缀 warning 如下面代码

    76810

    Visual Studio项目引用出现感叹号怎么办?

    然后就出现了下面的情况。...这时候第一个想到的工具都是Nuget,这是微软的一个开源包管理工具,我们可以利用它来还原我们丢失的DLL,选择我们的解决方案,点击"还原Nuget包",但是问题没有解决,或者提示没有包需要下载的话往下看...众所周知,visual studio的项目都是通过项目的packages.config文件来对项目引用进行保存的,然后Nuget读取该文件,将其中的Dll与解决方案中的Packages文件夹进行对比,如果存在就指向文件夹中的...在本机新建离线下载包安装源的文件夹 例如:F:\packages,进入packages文件夹 如果是下载的.nupkg格式的离线安装包,需要新建与包同名的文件夹如"sharpziplib.0.86.0...再次管理NuGet包时,安装源选刚才新建的安装源即可 ?

    5.1K20

    深度解析 Microsoft MCP 仓库中的.NET Native AOT 架构与工程实践

    这样的专用 “Compact”(紧凑/精简)NuGet 包 。...“Compact” 系列库的出现,标志着一种针对特定场景的优化分支: ● 去除动态特性:这些库很可能移除了所有依赖运行时动态行为的代码,转而使用源代码生成器(Source Generators)在编译时生成序列化逻辑和客户端智能体...它通过执行 dotnet publish 并开启裁剪(Trimming)分析,捕获特定的 IL(中间语言)警告,尝试将这些警告归以此类到具体的 DLL 程序集中,最后生成 JSON 和 HTML 格式的报告...建议改进点: 如果项目引用了大量 NuGet 包,bin 目录下的 DLL 扫描可能不够全面(如果是 NuGet 缓存引用)。...避免使用依赖旧版 System.Reflection 的库。如果必须使用 Azure 服务,优先寻找带有 .Aot 或 .Compact 后缀的预览版包。

    27210

    .NET Core部署中你不了解的框架依赖与独立部署

    FDD 包含可通过在命令行中使用 dotnet 实用程序启动的 .dll 文件。 例如,dotnet app.dll 就可以运行一个名为 app 的应用程序。..." /> 如果尚未安装,请下载包含第三方依赖项的 NuGet 包。...若要下载该包,请在添加依赖项后执行 dotnet restore命令。 因为依赖项在发布时已从本地 NuGet 缓存解析出来,因此它一定适用于你的系统。...当第三方依赖项本身取决于本机代码时,也可能发生此情况。 Kestrel 服务器就是一个很好的示例,它需要 libuv 的本机依赖项。...当为具有此类第三方依赖项的应用程序创建 FDD 时,已发布的输出会针对每个本机依赖项支持(存在于 NuGet 包中)的运行时标识符 (RID) 包含一个文件夹。

    2.6K20

    使用 Source Generator 在编译你的 .NET 项目时自动生成代码

    : 开始编写一个基本的代码生成器 使用代码生成器生成需要的代码 将代码生成器加入到现有的 NuGet 包中 调试代码生成器 一个基本的代码生成器 创建一个项目,例如 dotnetCampus.Ipc.Analyzers...为 NuGet 包添加生成代码的功能 现在,我们要将这个生成代码的功能添加到 NuGet 包中。...; 将 dotnetCampus.Ipc.Analyzers.dll 加入到 NuGet 包中。...使用这种方式引用,相比于 NuGet 包引用来说,项目的分析器列表里无法看到生成的代码。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    1.5K30

    dotnet 解决使用本地不安全 http 的 NuGet 源 NU1803 警告或构建失败问题

    出于安全性考虑,微软在 NuGet 的 6.3 版本开始引入 NU1803 警告,此警告将在遇到使用的 NuGet 源为 http 源时触发。...但同时在许多开发环境中,将会使用到内部或本地的 http 源,比如说公司或团队内部搭建的 nuget 源。...尽管使用的是不安全的 http 协议,但对于本地或内部源来说,完全不会因此导致安全性问题 在 2024 的 10 月之前,咱依然可以使用 NoWarn 配置忽略 NU1803 警告,如以下代码 <NoWarn...-- 添加 NoWarn 以移除构建警告 NU1803: 使用了 http 不安全的 NuGet 源 --> $(NoWarn);NU1803本机里作为全局配置,本机路径分别如下 Windows: 用户级: %appdata%\NuGet\NuGet.Config 机器级: `` Mac/Linux: 用户级:

    1.1K10
    领券