如何在.NET Core3.1 类库项目中使用System.Windows.Forms

news2024/11/15 13:35:12

网上说法大多都是直接添加对.Net Framework框架的引用,但是这种方法打包很不友好。于是开始了网络搜索,翻到了微软的文档,才找到直接引用 System.Windows.Froms 程序集的方法。还隐藏的很深,地址:Upgrade a Windows Forms app to .NET 7 - Windows Forms .NET | Microsoft Learn

很明显没有这个System.Windows.Forms程序集,要求 .Net Core 版本 >= 3.0,其实只要修改项目的csproj文件就好了:

可以使用记事本或在项目上直接左键双击:

初始化文件内容大致如下:

修改第一行的SDK,注意多的这个WindowsDesktop

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

修改PropertyGroup:

<PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <OutputType>Library</OutputType>
    <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>

在.NET Core 3.1中使用WPF或Winforms的示例:需要添加UseWPF和UseWindowsForms标记:

<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>

修改完成之后,代码显示即正常了:

生成项目也是成功的:

如果使用net6.0的话,可以直接写 <TargetFramework>net6.0-windows</TargetFramework> 即可。

针对.NET Core < 3,它在Windows上没有WinForms,但是,如果您需要在Linux上使用WinForms进行编译,则仍然有效,因为.NET Core WinForms仅在Windows上运行。

混合框架当然是解决问题的一种方法-但是,为什么要使用.NET Core?

但是您可以做的是将System.Windows.Forms的单声道实现移植到NetStandard。
如这里:https://github.com/ststeiger/System.CoreFX.Forms

希望本文对你有帮助。

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

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

相关文章

【抖音很火的vbs表白代码(简单实用!)】

抖音很火的vbs表白代码(简单实用!) 这篇文章主要给大家介绍了关于抖音很火的vbs表白代码的相关资料,教你用vbs表白女朋友,包含多个弹窗绝对实在,保管实用,内容可以自己修改,需要的朋友可以参考下 好玩的循环表白代码 1&#xff0c;右键->新建文本文件 2&#xff0c;右键-&…

《Cesium 进阶知识点》- 计算多个 ImageryLayer 的最大包围盒

需求说明 场景中加载了多个 Cesium.ImageryLayer&#xff0c;计算它们的最大包围盒并定位。 计算说明 代码 6 和 14 行&#xff0c;注意循环是从 1 开始&#xff1b;代码 23 - 29 行&#xff0c;西,南 取最小&#xff0c;东,北 取最大。参考图如下&#xff1b;代码 33 行&am…

图纸管理办法,图纸管理方法,图纸管理方案

图纸管理办法 一、总则 为了进一步加强对图纸的管理&#xff0c;最大限度的发挥图纸在工作中的作用&#xff0c;提高图纸利用率&#xff0c;避免因图纸管理不当造成损失&#xff0c;方便相关人员的使用和查验&#xff0c;并确保公司对技术图纸的所有权&#xff0c;使技术图纸管…

S32K1xx的MBD工具箱加载及激活

1、安装Matlab&#xff0c;本次使用Matlab2022b 2、打开Matlab&#xff0c;加载含有MBD工具的目录&#xff0c;如下 3、双击第一个---安装&#xff0c;正常安装就可以 4、双击第二个---安装&#xff0c;正常安装就可以 5、找到MBD的安装位置如下 C:\Users\Administrator\App…

数据结构 堆——详细动画图解,形象理解

作者主页 &#x1f4da;lovewold少个r博客主页 ​➡️栈和队列博客传送门 &#x1f333;参天大树充满生命力&#xff0c;其根深叶茂&#xff0c;分枝扶疏&#xff0c;为我们展示了数据分治的生动形态 目录 &#x1f333; 树 树的常见概念 &#x1f4d2;树的表示 二叉树 一…

【每日一题】找出数组的串联值

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;双指针 写在最后 Tag 【模拟】【双指针】【数组】【2023-10-12】 题目来源 2562. 找出数组的串联值 题目解读 串联值指的是将两个数字串联起来形成新的数字。现在要一次计算一个数组的地也给数和最后一个数的串联值&…

【java学习】类的成员之三:构造方法(即构造器)(25)

文章目录 1. 构造器(构造方法)基本概念2. 语法格式3. 构造器(构造方法)的种类4. 从代码中理解构造函数5. 练习题5.1. 题目15.2. 题目25.3. 题目3 1. 构造器(构造方法)基本概念 构造器的特征 (1) 它具有与类相同的名称 (2) 它不声明返回值类型。&#xff08;与声明为 void 不同&…

【Vue基础-数字大屏】图表自适应大小

一、需求描述 缩放页面&#xff0c;页面中的图标自适应缩放 二、关键代码 1、图表横向全屏 <style scoped>#myecharts{ width: 100%;height: 600px; border: 2px solid rgb(0, 255, 255);} </style> 2、监听&#xff0c;使图表自适应缩放 myChart.setOption(o…

kubernetes环境 搭建

1、准备2台机器 2、安装docker环境&#xff08;参考官网&#xff09; 1、 sudo apt-get update sudo apt-get install ca-certificates curl gnupg2、 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dea…

代码随想录算法训练营第五十九天 |647. 回文子串、516.最长回文子序列、动态规划总结篇

一、647. 回文子串 题目链接/文章讲解&#xff1a;代码随想录 思考&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义 如果本题定义dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的话&#xff1a; 会发现很难找到递归关系&#xff0c;dp[i] 和 dp[i-1]…

ubuntu20.04 nerf Instant-ngp

Instant-ngp linux ubuntu 20.04 GPU RTX3050Ti Instant-ngp官方文档地址 https://github.com/NVlabs/instant-ngp 参考链接Instant-ngp linux部署及使用 - 简书 Ubuntu20.04复现instant-ngp&#xff0c;自建数据集&#xff0c;导出mesh_XINYU W的博客-CSDN博客 步骤 安装基…

Elasticsearch 分片内部原理—使文本可被搜索、动态更新索引

目录 一、使文本可被搜索 不变性 二、动态更新索引 删除和更新 一、使文本可被搜索 必须解决的第一个挑战是如何使文本可被搜索。 传统的数据库每个字段存储单个值&#xff0c;但这对全文检索并不够。文本字段中的每个单词需要被搜索&#xff0c;对数据库意味着需要单个字…

object property order

起因 使用 prosemirror 时&#xff0c;想要取 schema 实例设置的 nodes const mySchema new Schema({nodes: {doc: {},customBlock: {},text: {},},marks: {}, });在浏览器控制台查看 mySchema&#xff0c;发现两个地方有nodes&#xff1a; mySchema.nodes 是普通对象&…

某医疗机构:建立S-SDLC安全开发流程,保障医疗前沿科技应用高质量发展

某医疗机构是头部资本集团旗下专注大健康领域战略性投资与运营的实业公司&#xff0c;市场规模超300亿。该医疗机构已完成数字赋能&#xff0c;形成了标准化、专业化、数字化的疾病和健康管理体系&#xff0c;将进一步规划战略方向&#xff0c;为人工智能纳米技术、高温超导、生…

【分享】小红书采集图片下载到本地

前面我们把图片链接都存到了excel里&#xff0c;现在想要把图片都下载到本地文件夹 下面是实现的python代码 图片链接存在第三列单元格&#xff0c;并且是多个图片\n分割的&#xff0c;现在把他们全部下载到本地 import pandas as pd import requestsdf pd.read_excel(&quo…

关于scanf和printf的格式控制修饰符

关于scanf和printf的格式控制修饰符

input时间控件选择时禁用某个日期之前或之后

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 …

应届生写简历不如AI?HR招人到底看什么

又双叒创新高&#xff01; 据悉&#xff0c;2024届高校毕业生人数预计有 1187 万人&#xff0c;比2023届将近多30万人&#xff01;相当于冰岛一个国家的人口啊&#xff01; 毋庸置疑&#xff0c;大学生的就业压力只增无减。也因此&#xff0c;2024届的应届生们为了博HR关注&…

2023年中国艺人管理行业发展历程及趋势分析:未来市场规模还会不断增加[图]

艺人管理行业是指一系列涉及艺人职业发展、形象管理、工作安排、合同管理、媒体宣传策划、财务管理等方面的专业服务和活动。它旨在协助艺人实现个人职业目标&#xff0c;提升艺人在娱乐行业中的知名度、影响力和经济效益&#xff0c;维持艺人形象的稳定和提高其工作的效率和质…

公众号营业执照注销被冻结了,怎么迁移?

公众号迁移后原来内容还在么&#xff1f;通过公众号迁移&#xff0c;可以实现这些目的&#xff1a;主体变更、开通留言功能、多号合并、订阅号升级为服务号、服务号转为订阅号。公众号迁移流程&#xff1a;①办理公证&#xff1b;②提交迁移申请&#xff1b;③第三方审核&#…