
Roslyn
文章平均质量分 86
lindexi_gd
我是微软Windows应用开发方向的最具价值专家,欢迎访问我博客blog.lindexi.com里面有大量WPF和UWP博客
展开
-
dotnet 使用 Refasmer 从现有的 DLL 里面导出公开的成员组装出新的仅作为引用用途的程序集...
本文告诉大家 Resharper 家(JetBrains)开源的 Refasmer 工具,这个工具的功能就是从现有的 DLL 或 EXE 程序集里面,将所有的公开成员导出,重新打出新的 DLL 或 EXE 程序集。此时打出的新的程序集里面的方法都不包含实现,而是只有定义,这样的程序集被成为仅作为引用用途的程序集,也就是 Reference assemblies 的意思,这也就是 Refasmer ...原创 2021-07-10 00:40:28 · 445 阅读 · 0 评论 -
dotnet 通过引用 msbuild 程序集实现自己定制编译器
本来我想说的是基于引用 msbuild 程序集来自己做一个编译器,但是想想好像本文做的,和造编译器没啥关系,咱自己调用 msbuild 的 API 而已。本文来告诉大家如何引用 msbuild 程序集,如何在自己的应用程序里面嵌入 msbuild 的构建代码,实现 dotnet build 的效果大部分的代码都是采用命令行的方式去调用 dotnet build 或 msbuild 命令,然而...原创 2021-07-05 00:30:16 · 590 阅读 · 0 评论 -
Roslyn 如何获得一个类的引用
本文告诉大家如何在 Rosyln 编译一个文件,获得这个文件的类的命名空间原创 2021-06-15 00:37:08 · 751 阅读 · 0 评论 -
dotnet Roslyn 通过读取 suo 文件获取解决方案的启动项目
本文来告诉大家一个黑科技,通过 .suo 文件读取 VisualStudio 的启动项目。在 sln 项目里面,都会生成对应的 suo 文件,这个文件是 OLE 格式的文件,文件的格式没有公开,本文的方法适合用在 VisualStudio 2019 上,对于其他版本的 VisualStudio 也许会不适合感谢 Simon Cropp 大佬提供的方法默认在 sln 解决方案文件的相同文件...原创 2021-04-29 00:38:37 · 411 阅读 · 0 评论 -
dotnet 自动迁移 VS 2017 以前的 csproj 转为 dotnet core 的 SDK Style 风格工具
本文来安利大家一个特别好用的工具,可以自动将 VisualStudio 2017 以前版本创建的 Franken-proj 格式 的 csproj 项目文件转换为 dotnet core 的 SDK Style 风格的csproj 项目文件的工具原创 2021-01-29 19:22:31 · 688 阅读 · 0 评论 -
Roslyn 判断当前使用 dotnet core 编译器进行编译
在写 msbuild 预编译或编译调度逻辑时,如何知道当前执行的编译器使用的是上古版本的 msbuild 还是用了 dotnet core 内核的 Roslyn 编译器?本文解决的问题是我期望在 Windows 系统使用 .NET Framework 版本的工具,而在非 Windows 系统上,使用 dotnet core 版本的工具。原因是 .NET Framework 在开发者设备上都会有,用...原创 2021-01-05 00:43:55 · 515 阅读 · 0 评论 -
Roslyn 在 NuGet 包中放注释 xml 文件的方法
本文告诉大家如何在打出的 NuGet 包含代码的注释,这样安装了 NuGet 的小伙伴就可以在 VS 上看到对应的方法和类的注释在使用 SDK Style 格式,可以使用下面一句话在输出的时候添加 xml 注释文件,在打包 NuGet 添加 xml 注释<PropertyGroup> <GenerateDocumentationFile>true&l...原创 2020-07-29 00:44:37 · 775 阅读 · 5 评论 -
Roslyn 读取 PackageReference 的版本号和内容
在写 msbuild 的预编译逻辑,如果想要拿到项目安装的 NuGet 库和版本,可以通过获取 PackageReference 的方法获取获取方法是放在 Target 里面,如下面代码 <Target Name="LabaijalacarDaqarheelu" BeforeTargets="Build"> <Ite...原创 2020-08-07 00:24:41 · 612 阅读 · 0 评论 -
Roslyn 如何使用 MSBuild ZipDirectory 压缩文件夹
在 csproj 文件或在 NuGet 的 Targets 文件中可以通过 Target 调用 ZipDirectory 任务用来制作压缩包,在构建的时候,可以用这个方法将某个输出文件夹等内容压缩输出使用 ZipDirectory 有两个必要的属性,一个是 DestinationFile 表示输出的 zip 文件的路径,另一个是 SourceDirectory 表示将被压缩的文件夹路径如果...原创 2020-04-23 00:41:51 · 569 阅读 · 0 评论 -
Roslyn 引用某个文件夹所有文件作为链接
在 SDK 格式的项目文件可以通过简单代码引用某个文件夹里面指定后缀的文件作为项目文件例如我想要引用相对于 csproj 的上一层文件夹里面的 doubi 文件夹里面的所有 cs 文件,作为链接引用的方法,可以使用下面代码 <ItemGroup> <Compile Include="..\doubi\*.cs" Link="lindexi...原创 2020-06-02 00:46:40 · 627 阅读 · 0 评论 -
Roslyn 如何给每个平台设置 PlatformTarget 属性
在使用 csproj 格式,如果需要给不同的平台设置 PlatformTarget 对应平台的值,需要写比较多的代码,本文告诉大家一个简便的方法使用三句话就完成了平台设置<PropertyGroup> <PlatformTarget>$(Platform)</PlatformTarget></PropertyGroup>上面代码...原创 2020-03-28 01:36:21 · 714 阅读 · 0 评论 -
2019-4-21-Roslyn-通过-NuGet-库修改应用程序入口函数
title author date CreateTime categories Roslyn 通过 NuGet 库修改应用程序入口函数 lindexi 2019-4-21 17:37:1 +0800 2019-04-21 16:46:29 +0800 Roslyn MSBuild 编译器 ...原创 2019-11-21 16:09:45 · 396 阅读 · 0 评论 -
2019-1-29-Roslyn-使用-WriteLinesToFile-解决参数过长无法传入
title author date CreateTime categories Roslyn 使用 WriteLinesToFile 解决参数过长无法传入 lindexi 2019-01-29 16:31:43 +0800 2018-07-23 20:48:32 +0800 Roslyn MSB...原创 2019-11-21 16:05:15 · 415 阅读 · 0 评论 -
2019-7-1-Roslyn-让编译时候-Message-内容默认输出
title author date CreateTime categories Roslyn 让编译时候 Message 内容默认输出 lindexi 2019-07-01 14:16:59 +0800 2019-6-28 9:57:4 +0800 Roslyn MSBuild 编译器 ...原创 2019-11-21 16:04:50 · 407 阅读 · 0 评论 -
2019-5-29-Roslyn-让-VisualStudio-急速调试底层库方法
title author date CreateTime categories Roslyn 让 VisualStudio 急速调试底层库方法 lindexi 2019-5-29 20:2:9 +0800 2019-05-29 18:34:27 +0800 VisualStudio ...原创 2019-11-21 16:04:48 · 520 阅读 · 0 评论 -
2019-7-3-Roslyn-在项目文件使用条件判断
title author date CreateTime categories Roslyn 在项目文件使用条件判断 lindexi 2019-7-3 17:7:32 +0800 2018-8-3 20:2:38 +0800 Roslyn MSBuild 编译器 本文告诉大家如何...原创 2019-11-21 16:04:35 · 729 阅读 · 0 评论 -
2019-10-22-Roslyn-打包自定义的文件到-NuGet-包
title author date CreateTime categories Roslyn 打包自定义的文件到 NuGet 包 lindexi 2019-10-22 19:45:34 +0800 2019-7-9 17:3:4 +0800 Roslyn MSBuild 编译器 nuget 打包...原创 2019-11-21 16:04:29 · 337 阅读 · 0 评论 -
2019-7-22-Roslyn-获得-sln-文件所在的文件夹
title author date CreateTime categories Roslyn 获得 sln 文件所在的文件夹 lindexi 2019-07-22 08:57:14 +0800 2019-01-02 16:40:57 +0800 Roslyn MSBuild 编译器 ...原创 2019-11-21 16:04:18 · 584 阅读 · 0 评论 -
2018-9-4-Roslyn-通过-nuget-统一管理信息
title author date CreateTime categories Roslyn 通过 nuget 统一管理信息 lindexi 2018-09-04 08:55:19 +0800 2018-08-29 09:34:40 +0800 Roslyn MSBuild 编译器 nuget ...原创 2019-11-21 16:03:09 · 381 阅读 · 0 评论 -
2019-7-3-Roslyn-理解-msbuild-的清理过程
title author date CreateTime categories Roslyn 理解 msbuild 的清理过程 lindexi 2019-07-03 18:21:25 +0800 2019-07-03 17:35:51 +0800 Roslyn MSBuild 编译器 ...原创 2019-11-21 16:02:45 · 877 阅读 · 0 评论 -
dotnet core 通过修改文件头的方式隐藏控制台窗口
在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口原创 2018-09-30 18:37:11 · 2765 阅读 · 0 评论 -
Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
本文告诉大家经常使用的 NameSyntax 拿到值的 ToString 和 ToFullString 方法的区别原创 2018-11-19 15:23:40 · 450 阅读 · 0 评论 -
Roslyn 如何使用 MSBuild Copy 复制文件
本文告诉大家如何在 MSBuild 里使用 Copy 复制文件原创 2018-12-25 09:36:28 · 1409 阅读 · 4 评论 -
SourceYard 制作源代码包
本文带大家走进SourceYard开发之旅在项目开发中,将一个大的项目拆为多个小项目解耦,减少模块之间的耦合。因为如果将代码放在一起,即使有团队的约束,但只要能写出的代码就会有小伙伴写出,很快就发现各个模块耦合的代码很多。但是对一个项目的拆分会让拆分出来的每一个项目都编译出一个 dll 增加运行文件的启动时间。在开发中,常常会用到很多工具类,这些小轮子很多的功能基本就只有一个类,如何对这些小轮子进行管理?通过复制代码还是通过 Nuget 管理原创 2018-12-25 09:42:24 · 854 阅读 · 1 评论 -
Roslyn 使用 WriteLinesToFile 解决参数过长无法传入
在写 Roslyn 的时候,经常需要辅助编译的工具,而这些工具需要传入一些参数,在项目很大的时候,会发现自己传入的参数比微软限制控制台可以传入的参数大很多,这时就无法传入了参数本文告诉大家如何使用 WriteLinesToFile 先把参数写入文件,通过文件的方式传输参数原创 2019-01-29 16:33:01 · 761 阅读 · 0 评论 -
Roslyn 使用 Directory.Build.props 管理多个项目配置
在一些大项目需要很多独立的仓库来做,每个仓库之间都会有很多相同的配置,本文告诉大家如何通过 Directory.Build.props 管理多个项目配置原创 2019-05-21 11:36:50 · 1101 阅读 · 0 评论 -
Roslyn 使用 Target 替换占位符方式生成 nuget 打包
本文告诉大家如何编写在编译过程修改打包文件原创 2019-07-29 10:01:49 · 479 阅读 · 0 评论 -
Roslyn 静态分析
本文告诉大家如何使用 Roslyn 分析代码原创 2018-08-17 09:28:40 · 1239 阅读 · 0 评论