首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Roslyn 让编译时候 Message 内容默认输出

Roslyn 让编译时候 Message 内容默认输出

作者头像
林德熙
发布2022-08-12 16:08:45
发布2022-08-12 16:08:45
19600
代码可运行
举报
文章被收录于专栏:林德熙的博客林德熙的博客
运行总次数:0
代码可运行

默认无论是在 VisualStudio 还是在 dotnet 命令行都会忽略项目文件或安装库里面的消息输出,而吕水小伙伴给了一个馊主意将所有需要输出给用户的消息换为警告,因为默认是会输出警告,于是消息就可以输出了。然后某个小伙伴就过来打我,因为他一编译整个项目原本是没有警告的,现在有很多警告。于是我就在找是否有方法可以做到让消息的内容默认输出

在编译的时候需要期望输出所有的消息,可以添加输出的日志等级,详细请看How to output the target message in dotnet build command line

但是我的小伙伴是在 VisualStudio 编译的,他不期望输出的内容太多,而我又期望给他一点输出,特别是注明他现在使用的这个库是基于 GLWTPL 协议做的

代码语言:javascript
代码运行次数:0
运行
复制
GLWTPL 协议

When I wrote this, only God and I understood what I was doing.
Now, only God knows.

当我写下这段代码的时候,只有上帝和我知道这是什么
现在只有上帝知道

也就是现在代码除了上帝没有知道是做什么

如果我写成 Message 默认小伙伴是不会看到,但如果我写成 Warning 他又会打我,好在有消息有一个属性,请看代码

代码语言:javascript
代码运行次数:0
运行
复制
  	<Message Importance="High" Text="林德熙是逗比" />

添加属性 Importance 指定这个消息是否重要,如果指定为重要,那么消息默认就会输出

请试试将下面代码放在你的 csproj 文件中,然后点击编译

代码语言:javascript
代码运行次数:0
运行
复制
  <Target Name="Lindexi" BeforeTargets="Build">
    <Message Importance="High" Text="林德熙是逗比" />
  </Target>

上面代码如果写在了 NuGet 库,可以在小伙伴安装我的库的时候编译就输出消息内容

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档