修整程序集需要 .NET Core 3.0 或更高版本。

news/2024/11/30 15:31:45/文章来源:https://www.cnblogs.com/kevin-Y/p/18578495

最近编译WinSW,提示:修整程序集需要 .NET Core 3.0 或更高版本。

百思不得解,最后原来我不知道“修整程序”,在csproj文件中这么一段

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFrameworks>net461;net6.0-windows</TargetFrameworks><LangVersion>latest</LangVersion><Nullable>enable</Nullable><AllowUnsafeBlocks>true</AllowUnsafeBlocks>    <PublishTrimmed>true</PublishTrimmed>

最后一行,就是“修整”。而net461是不支持的。所以在编译到461就提示有问题了。问AI,回复如下:

 

在你的 .csproj 文件中,使用 <TargetFrameworks> 指定了多个目标框架,包括 net461 和 net6.0-windows。你启用了 <PublishTrimmed>true</PublishTrimmed>,这意味着你希望在发布时对程序集进行修整(trimming)。
然而,修整功能只适用于 .NET Core 3.0 及更高版本,而 net461 是 .NET Framework 的一个版本,因此它不支持修整。为了解决这个问题,你有以下几种选择:1。移除不支持修整的框架: 如果你不需要支持 net461,可以将其移除,只保留支持修整的框架。例如:
<TargetFrameworks>net6.0-windows</TargetFrameworks> <PublishTrimmed>true</PublishTrimmed>2。使用条件编译: 如果你需要同时支持 .NET Framework 和 .NET Core/.NET 5+,你可以为不同的目标框架使用条件编译来启用或禁用修整。例如:<PropertyGroup><PublishTrimmed Condition="'$(TargetFramework)' == 'net6.0-windows'">true</PublishTrimmed><PublishTrimmed Condition="'$(TargetFramework)' == 'net461'">false</PublishTrimmed> </PropertyGroup>3/将项目迁移到 .NET 5 或 .NET 6: 考虑将整个项目迁移到仅使用 .NET 5 或 .NET 6,这样你就可以利用最新的功能,包括修整。

我选择2,最后的csproj修改为类似以下

  <PropertyGroup><OutputType>Exe</OutputType><TargetFrameworks>net461;net6.0-windows</TargetFrameworks><LangVersion>latest</LangVersion><Nullable>enable</Nullable><AllowUnsafeBlocks>true</AllowUnsafeBlocks>    <PublishTrimmed>true</PublishTrimmed><AssemblyTitle>Windows Service Wrapper</AssemblyTitle></PropertyGroup><PropertyGroup><PublishTrimmed Condition="'$(TargetFramework)' == 'net6.0-windows'">true</PublishTrimmed><PublishTrimmed Condition="'$(TargetFramework)' == 'net461'">false</PublishTrimmed></PropertyGroup>

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考研打卡(32)

开局(32) 开始时间 2024-11-30 13:44:59 结束时间 2024-11-30 15:18:42刚才去洗牙,体验了一波新事物嗷,挺新奇的,但是发现有个好大好大的蛀牙啊啊啊啊啊数据结构判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用_____(中国石油大学 2013年) A 求关键路径…

网站公司信息修改,如何在网站中轻松修改公司信息

公司信息是网站的重要组成部分,通过以下步骤可以轻松进行修改:登录后台:打开浏览器,输入网站的后台地址,使用管理员账号登录。进入公司信息管理:在后台左侧菜单栏中选择“内容” -> “公司信息”。 找到需要修改的信息,点击“编辑”。修改公司信息:在编辑页面中,修…

怎么修改公司的网站首页,如何在网站后台或代码中修改公司网站首页

修改公司网站首页可以提升网站的专业性和用户体验。以下是具体步骤:登录后台:如果网站有后台管理系统,使用管理员账号登录。 在后台左侧菜单栏中选择“内容” -> “页面”或“模板管理”。 找到需要修改的首页,点击“编辑”。修改内容:在编辑页面中,修改文本内容、图片…

鸿蒙Next元服务开发详解

之前写过关于元服务的文章,大家对元服务应该也有一定的了解,它是一种更加高效便捷的应用形式,免安装,有独立的入口,说的简单一点就像是把微信小程序放到系统层面,相比微信小程序更加快捷,因为连微信也不用打开了。 今天就分享一下怎么开发一个鸿蒙元服务。创建项目 元服…

浅谈鸿蒙跨平台开发框架ArkUI-X

之前写过使用uniapp的跨平台开发鸿蒙项目,今天分享一下开发体验更友好的跨平台开发框架ArkUI-X。 ArkUI-X看起来像是鸿蒙官方的框架,在DevEco中就可以安装和使用,而且会ArkUI就可以开发安卓和、iOS和鸿蒙三个平台的app,下面简单介绍一下它的用法。 打开DevEco的Preference菜…

20222425 2024-2025-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是…

String类的特点

1.String类的特点1.java程序中,只要是双引号字符串,就都是String类的对象 如图只有String这一个类有这种特殊的创建对象方法 我们知道,只有对象才可以通过 点什么来调用方法,而图中s.toString等方法都可以调用,所以s就是String的对象 . 2.字符串在创建之后,内容不可更改 …

Mac OS 15苹方字体不可用,怎么办?

缘由今天使用 mac word 写文档发现选 苹方字体 后变成乱码了...解决办法①打开 Spotlight 搜索:字体册①在 字体册 搜索:苹方,并点击下载对应的字体下载完变成黑色(可用)了:打开系统设置:首先,打开您的macOS系统设置。调整语言顺序:在系统设置中搜索“语言”,然后将“E…

redis基本操作JG

为什么学习redis,前几天有个需求,用到了redis库,之前学习过但仅限于大学的时候,这个时候差不多忘光了,需求测的时候也是现学的几个查询指令。印象最深的是开发设计的时候存储了10个不同key值但value(list字符串)相同的数据,当时问过为什么要存十个,解释为 “为了防止…

探索 TypeScript 编程的利器:ts-morph 入门与实践H6

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:贝儿背景 在开发 web IDE 中生成代码大纲的功能时, 发现自己对 TypeScript 的了解知之甚少,以至于针对该功能的实现没有明确的思…

IDEA本地运行Spark程序报错:HADOOP_HOME and hadoop.home.dir are unset. 解决方法

报错信息 java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblemsat org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:737)…