当前位置: 首页 > news >正文

如何创建一个基于 .NET Core 3 的 WPF 项目

在 Connect(); 2018 大会上,微软发布了 .NET Core 3 Preview,以及基于 .NET Core 3 的 WPF;同时还发布了 Visual Studio 2019 预览版。不过 Visual Studio 2019 的预览版中并没有携带 WPF on .NET Core 3 的模板,于是新建项目的时候并不能快速创建一个基于 .NET Core 3 的 WPF 项目。

本文将指导大家如何创建一个基于 .NET Core 3 的 WPF 项目。


本文内容

      • 安装 .NET Core 3.0 Preview SDK
      • 运行新建命令
      • 打开这个 csproj 文件
      • 更多

安装 .NET Core 3.0 Preview SDK

前往官网下载:.NET Core 3.0 downloads for Linux, macOS, and Windows。

然后安装。

运行新建命令

在桌面或其他你要新建项目的文件夹中打开 PowerShell,然后输入命令:

dotnet new wpf -o WalterlvWpfApp

其中,后面的 WalterlvWPfApp 是 WPF 项目的名称。

这时,你会在你刚刚准备的文件夹中发现刚刚新建的 WPF 项目。

刚刚新建的 WPF 项目
▲ 刚刚新建的 WPF 项目

打开这个 csproj 文件

在 Visual Studio 中打开这个 csproj 文件即可在 Visual Studio 2019 Preview 中基于这个新的 WPF on .NET Core 3 的项目进行开发。

新的 WPF 项目
▲ 新的 WPF 项目。

更多

如果你希望将现有基于 .NET Framework 的 WPF 项目迁移到 .NET Core 3,那么请阅读我的另一篇博客:将基于 .NET Framework 的 WPF 项目迁移到基于 .NET Core 3。

相关文章:

  • 将基于 .NET Framework 的 WPF 项目迁移到基于 .NET Core 3
  • 了解 .NET 的默认 TaskScheduler 和线程池(ThreadPool)设置,避免让 Task.Run 的性能急剧降低
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • 在有 UI 线程参与的同步锁(如 AutoResetEvent)内部使用 await 可能导致死锁
  • 不要使用 Dispatcher.Invoke,因为它可能在你的延迟初始化 LazyT 中导致死锁
  • 定义一组抽象的 Awaiter 的实现接口,你下次写自己的 await 可等待对象时将更加方便
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 中什么样的类是可使用 await 异步等待的?
  • Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)
  • 使用 ReSharper,输入即遵循 StyleCop 的代码格式化规范
  • StyleCop 是什么,可以帮助团队带来什么价值?
  • 文件和文件夹不存在的时候,FileSystemWatcher 监听不到文件的改变?如果递归地监听就可以了
  • C#/.NET 使用 CommandLineParser 来标准化地解析命令行
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • 使用 WPF 开发一个 Windows 屏幕保护程序
  • .pyc 想到的一些问题
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【Linux系统编程】快速查找errno错误码信息
  • bearychat的java client
  • echarts花样作死的坑
  • HashMap ConcurrentHashMap
  • HTTP那些事
  • js 实现textarea输入字数提示
  • maven工程打包jar以及java jar命令的classpath使用
  • mongo索引构建
  • MySQL数据库运维之数据恢复
  • PermissionScope Swift4 兼容问题
  • PHP 的 SAPI 是个什么东西
  • Shell编程
  • SQLServer插入数据
  • 从零开始的无人驾驶 1
  • 从伪并行的 Python 多线程说起
  • 机器学习 vs. 深度学习
  • 前端性能优化——回流与重绘
  • 算法-插入排序
  • 通过git安装npm私有模块
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一天一个设计模式之JS实现——适配器模式
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $.each()与$(selector).each()
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (八)Spring源码解析:Spring MVC
  • (附源码)计算机毕业设计ssm电影分享网站
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (轉)JSON.stringify 语法实例讲解
  • .gitattributes 文件
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .pop ----remove 删除
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示