本文来告诉大家如何用 Roslyn 管理配置,在开一个新的项目的时候经常需要添加公司,版权等,但是这些信息不想每次都添加于是我就想用 Nuget 管理所有配置,安装一个 nuget 就自动配置
对于.NET(包括.NET Core),Microsoft支持的代码共享机制是NuGet,它定义了.NET程序包的创建,托管和使用方式,并为每个角色提供了工具。
本文告诉大家如何修复 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹的问题。如果 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹,那将会在调试的时候,由于找不到 PDB 符号文件而加载符号失败
制作一个 dll 引用的 NuGet 包简直是一键完成,无论是不是多框架项目;制作 dotnet-tools 也是如此。但如果需要自定义一些编译步骤,那么就需要在制作 NuGet 包时做很多的特殊处理了。
最近在项目中尝鲜了MAUI,总体感受下来还是挺不错的,优缺点并存,但是瑕不掩瑜,目前随着.Net版本的迭代升级对它的支持也越来越友好,相信未来可期!感兴趣的朋友欢迎关注。文章中如有不妥的地方,也请多多指教。
默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll)。除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包。然而做源代码包可能是其中最困难的一种了,目标项目安装完后,这些源码将直接随目标项目一起编译。
使用 .NET,可以创建和部署可生成项目、文件甚至资源的模板。 本教程是系列教程的第三部分,介绍如何创建、安装和卸载用于 dotnet new 命令的模板。
如果您使用过以前版本的ASP.NET,那么您可能对此文件非常熟悉,但此文件中包含的格式和内容在asp.ne Core 中发生了很大变化。
在写 Roslyn 的时候,经常需要辅助编译的工具,而这些工具需要传入一些参数,在项目很大的时候,会发现自己传入的参数比微软限制控制台可以传入的参数大很多,这时就无法传入了参数。 本文告诉大家如何使用 WriteLinesToFile 先把参数写入文件,通过文件的方式传输参数
我写了一个有趣的工具,我如何将这个工具给到小伙伴予力众生呢?只需要设定这个工具是 dotnet tool 工具就可以通过 NuGet 分发出去啦。几乎所有的 dotnet 开发者都能用上 NuGet 服务,也就是此工具可以被几乎所有的 dotnet 开发者下载使用。那么制作难度有多大呢?基本上有一个现成的项目前提下,只需两句代码,一句命令行,就能完成制作
不知你是否好奇,System.ValueTuple 是新框架(.NET Core 3.0)开始引入的类型,但可以通过 NuGet 包向旧框架提供这些类型的使用。并且,这些包即便安装到本来就有此类型的新框架上也能正常运行而不会出现多处类型定义的问题。
今天换了台电脑,就把笔记本上的项目拷贝到了台式机上, 但是我没有拷贝解决方案整个文件夹,因为其中项目太多了,我就把其中一个项目的文件夹直接拷贝到电脑上,然后就出现了下面的情况。
我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以 让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知 本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传。
在使用 sdk 格式的项目文件支持快速进行打包,但使用这个方式打包的时候将默认只带程序集输出文件,而没有带依赖的文件。本文告诉大家如何在打包的时候加上需要放在包里面的文件
在日常的开发中,如果需要发布多个库,多个库之间的版权和作者等信息都是相同的。如果需要每次更改信息都打开项目进行编辑,这个效率是很低的。本文提供一个方式,通过安装一个 nuget 包就可以自动填写信息。
ASP.NET 5 在项目结构上做了很大的改变,我们以前熟悉的目录结构与项目文件内容都不太一样了,本篇文章带大家了解 ASP.NET 5 到底跟以前有哪些不一样的地方。 我们先用 Visual Stu
一、本地dll如何打包,以及版本的更新 本小节主要介绍两种方式将本地dll打包为Nuget包, 1.1 利用nuget.exe进行打包(应用于.net framework) 1. 下载nuget.ex
发布于 2018-05-11 16:04 更新于 2018-09-01 00:07
在当前所有渲染框架里面,做 2D 渲染的,最好的框架是 Win2d 这个提供了大量底层接口封装,不仅性能高同时接口设计非常好 在很久之前,只有在 UWP 等现代应用才能使用 Win2d 而 WPF 是不能使用的。好在微软开放了一些黑科技,可以在 WPF 上使用 Win2d 渲染,下面就让我告诉大家如何在 WPF 上使用
本文告诉大家如何通过 VisualStudio 的新项目格式快速打出 Nuget 包
2018-06-20 01:22
发布于 2018-05-12 01:09 更新于 2018-09-01 00:16
要从项目中构建NuGet包(.nupkg文件),请运行dotnet pack命令,将自动生成项目
为了设置 Blazor 项目来配合工作,我们将使用 Visual Studio Code。Visual Studio Code 包含一个集成终端,这使创建新项目变得简单。如果不想使用其他代码编辑器,可在终端中运行此模块中的命令。
MSBuild 不愧是强大的编译器,它提供的扩展机制让你几乎可以编译任何类型的文件或项目;Roslyn 是全新编写的一套编译器,不过它保留了 MSBuild 的大部分机制;NuGet 是 .NET 生态系统中的包管理机制,被原生集成在新的 Microsoft.NET.Sdk 中。
在 Roslyn 分析器里面读取项目的默认命名空间,可以通过读取项目的属性配置实现。通过 IIncrementalGenerator 增量 Source Generator 生成代码入门 读取 csproj 项目文件的属性配置 的方法配置读取即可
https://www.cnblogs.com/Can-daydayup/p/17980851
在 MSBuild 中有一些特殊字符,如 $ @ % ' 等,本文介绍他们的含义,如何使用他们,以及你真的需要这些字符的时候如何编写他们。
发布于 2018-07-04 13:29 更新于 2018-09-04 13:08
我和小伙伴说只要你安装我的 NuGet 库无论你怎么做,都会调用我的 Main 函数,默认的主函数不会调用
在包管理以前我们在项目中引用第三方包通常是去下载dll放到项目中再引用,后来逐渐发展成各种包管理工具,nuget就是一种工具,适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。 Linux 我们可以使用apt、yum来安装软件,js 可以使用npm来搭建下载,Java 有maven管理包,而对于.net nuget就是同样效果和机制的工具。
我们做的公共库可能通过 nuget.org 发布,也可能是自己搭建 NuGet 服务器。但是,如果某个包正在开发中,需要快速验证其是否解决掉一些诡异的 bug 的话,除了单元测试这种间接的测试方法,还可以在本地安装未发布的 NuGet 包的方法来快速调试。
如果我们的.NET Framework应用程序本身年龄够大,是一座屎山难以修复,.NET 5确是一种采用当今最先进材料构建的现代绿色住宅,.NET 升级助手 能让我们的迁移工作轻松一些,它也不是万能的,没办法帮助我们把系统搞的更好,在我们迁移的过程中还是需要进行一些手动工作的。
本文告诉大家如何做源代码包,源代码包的意思是安装的包不是安装dll的方式,而是使用源代码的方式。也就是最后是编译包的源代码而不是添加dll,这个方式是解决想要把项目分小,功能分细,但是不希望项目有很多的 dll,因为如果项目有很多 dll 会让软件打开的时间比较长
在 Nuget 中没有 -version 和 -v 和 --version 等写法,只需要直接输入 nuget 在第一行就会显示版本号
一、前言 本篇开发环境? 1、操作系统:CentOS7(因为ken比较偏爱CentOS7) 2、SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识 1、了解如何通过Hyper-V安装CentOS虚拟机 2、了解CentOS7基础命令/常用命令 二、安装 .NET Core SDK 1、安装必要依赖 sudo yum -y install libunwind libicu 2、下载(SDK列表) cd /home/downloads curl -sSL -o dotnet-
发布于 2018-04-12 13:03 更新于 2018-08-29 01:36
默认的 PackageReference 可以实现传递依赖,传递依赖的含义是是假定 B 项目安装了 A 库,而 C 项目依赖 B 项目,那么 C 项目将会自然拿到 A 库的 DLL 引用。但默认的 NuGet 包的构建指导文件 targets 命令是不会在传递执行的,也就是如上的 C 项目将不会执行 B 项目安装的 A 库里面的 target 内容 有一些项目需要拷贝自定义文件,例如拷贝图片或者一些 Native 的 DLL 等资源。如 WPF 框架需要拷贝 PenIME 等资源。如果只是在最底层的项目安装了库,那为了让可执行文件项目也输出库的资源,就需要在可执行项目上也安装库。以上的方法的不足在于安装复杂,也许会忘记安装 本文告诉大家一个解决方法是通过在制作库的时候,加上 BuildTransitive 文件夹,在此文件夹内添加构建指导文件,此时这个构建指导文件 targets 文件里面的命令将会在传递中执行,也就是说只需要在底层的项目安装即可,不需要在可执行项目上也安装库
本文介绍了如何使用Boost库在Visual Studio 2017中实现高精度数学常量的计算,包括圆周率π、自然对数e和根号2等。首先介绍了如何安装Boost库,然后讲解了如何使用Boost库中的高精度数学常量,并给出了一个示例代码。通过使用Boost库,可以在C++中方便地实现高精度数学运算,对于从事科学计算和数学建模等领域的人员来说,具有较高的实用价值。
我在之前的博客中有教大家如何编写 NuGet 工具包,其中就有编写 .targets 文件。
默认的 NuGet 包支持在 releaseNotes 中添加更改日志,用户可以通过更改日志了解各个版本更新的内容。在 SDK Style 格式的 csproj 文件,可以读取本地的文本文件的内容作为 NuGet 包的改动日志
一、前言 本篇开发环境? 1、操作系统: Windows 10 X64 2、SDK: .NET Core 2.0 Preview 二、安装 .NET Core SDK 1、下载 .NET Core 下载地址:https://www.microsoft.com/net/download/core 根据自己电脑情况选择对应版本即可 .NET CORE 2.0下载地址:https://aka.ms/dotnet-sdk-2.0.0-preview2-win-x64 2、安装 微软出品,一键安装,只需一步,看图
2、在项目根目录下找到packages\Obfuscar.2.2.38\tools,将Obfuscar.Console.exe拷到要加密文件的文件夹中
在写预编译框架,因为安装项目会基于多个平台,也就是对应的 Target 会执行多次,而我需要的只是执行一次就可以
如果你是开发个人项目,那就直接用 Visual Studio Community 版本吧,对个人免费,对小团体免费,不需要这么折腾。
本文告诉大家如何通过 msbuild 编译一个项目,通过命令行编译可以输出更多的编译信息,可以用来调试自己写的编译相关方法,可以看到是哪个文件编译失败
发布于 2018-05-10 00:13 更新于 2018-08-12 08:11
领取专属 10元无门槛券
手把手带您无忧上云