dotnet 6 破坏性改动 仅引用程序集输出路径变更

news/2024/9/24 18:02:18

在 dotnet 5 开始,可以设置 ProduceReferenceAssembly 为 true 让项目构建时输出仅引用程序集。仅引用程序集是仅导出项目的公开成员定义,而不包含具体的实现的代码逻辑。只用来被其他项目引用,体积很小,但不用来作为最终发布文件

在此前的如下博客里面已经告诉大家如何创建仅引用程序集:

  • msbuild 使用 ProduceOnlyReferenceAssembly 创建作为引用的仅公开成员程序集
  • dotnet 使用 Refasmer 从现有的 DLL 里面导出公开的成员组装出新的仅作为引用用途的程序集

从 dotnet 6 开始,不再使用 ProduceOnlyReferenceAssembly 属性,且也无需配置 ProduceReferenceAssembly 属性。默认情况下都将生成仅引用程序集

原本的仅引用程序集是放在输出路径的 ref 文件夹里面。从 dotnet 6 开始,将默认生成仅引用程序集且放在 $(IntermediateOutputPath)\refint 文件夹里面,即 obj\refint 文件夹里

在 csproj 等代码里面可以使用 $(TargetRefPath) 获取仅引用程序集路径,无需自己拼接 obj\refint 文件夹

如此更改原因是仅引用程序集大部分情况下都是作为开发侧使用的,不参与实际产品发布,因此如作为最终可输出的文件则不合适。于是 dotnet 6 就将其放入到 obj 文件夹里

详细请参阅 Breaking change: Write reference assemblies to IntermediateOutputPath - .NET Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/46408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

又跳槽!3年java经验offer收割机的面试心得

中厂->阿里->字节,成都->杭州->成都 系列文章目录和关于我 0.前言 笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到成都字节。自认为自己在面试这方面有一点心得,处于记录和分享的目的便有了此文,此文纯…

Git的安装及使用

官网:Git for Windows 点击下载安装。右击鼠标会出现GUI和Bash 选择git bash here 配置全局用户名和邮箱(gitee)git config --global user.name "你的名字" git config --global user.email 你的邮箱 查看配置git config user.name git config –list 配置 SSH…

【YOLOv8改进】 ODConv(Omni-Dimensional Dynamic Convolution):全维度动态卷积

摘要 在现代卷积神经网络(CNN)中,每个卷积层中学习单个静态卷积核是常见的训练范式。然而,最近在动态卷积的研究中表明,通过学习 n 个卷积核的线性组合,并且这些卷积核的权重取决于它们的输入相关注意力,可以显著提高轻量级 CNN 的准确性,同时保持高效的推理。但是,我…

使用mongodb、Kafka保存mqtt消息

一、引言 随着物联网技术的迅猛发展,大量的设备和传感器产生了海量的数据。本文利用了 MQTT、Kafka 和 MongoDB 各自的优点,满足实时数据处理和大规模数据存储的需求。 如图:二、总结 优点:1. 可靠和解耦: Kafka的复制机制和持久化存储确保了数据在传输过程中的可靠性,即…

【C#】WPF 类库项目 无法创建 “资源字典” 文件

解决办法 打开项目工程文件 ( project.csproj) 在 标签添加 下面红色的三句话<Deterministic>true</Deterministic><ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <…

视频通话源码,使用线程池的两大要点分析

视频通话源码,使用线程池的两大要点分析:1、实现动态调整线程池参数2、对线程池运行情况进行监控一,线程池可调整的参数1、核心线程数2、超时时间3、最大线程数4、拒绝策略 而队列BlockingQueue因为是final类型,所以没有对外修改入口。但可以通过重写LinkedBlockingQueue并…

1v1直播源码,保证请求时序的两种常用方法

1v1直播源码,保证请求时序的两种常用方法 在1v1直播源码中经常遇到请求输入查找场景,防抖与截流很好处理了频繁输入问题,但是不能解决最先发起请求结果后返回,覆盖了最后一次的搜索结果,导致搜索结果不正确。我总结一下自己常用的两种方法。一、使用时间戳来过滤返回结果…

WebView2UI - 在WPF之中使用WebView2的一些经验总结

项目地址:https://github.com/skyw18/skyw18-WebView2UI webview简介与生命周期:WPF 应用中的 WebView2 入门 - Microsoft Edge Developer documentation | Microsoft Learn 具体代码可以参考微软官方示例文档 WPF 示例应用 - Microsoft Edge Developer documentation | Micr…