如何在适用于 Linux 的 Visual Studio Code 中使用 .NET 8 上的 FastReport Avalonia

我们将继续撰写有关在各种操作系统上的 Visual Studio Code 中使用 FastReport Avalonia 的系列文章。在本文中,我们将详细分析如何使用 Visual Studio Code IDE 在 Linux 操作系统上运行 FastReport Avalonia。

Avalonia UI 是一个积极用于开发跨平台用户界面的 .NET 框架。凭借其用于应用程序构建的通用 API,Avalonia 支持所有主要平台和运行时环境,并拥有其独特的界面。这可确保您的业务解决方案在每个操作系统上看起来都相同。

FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

    FastReport .net下载(qun:278631305)icon-default.png?t=N7T8https://www.evget.com/product/1861/download

FastReport Avalonia 包括强大的数据处理引擎、熟悉的报表设计器和生成报表的查看器。此外,新产品支持所构建报告的所有导出格式,例如 PDF、Excel、MS Word 等。

该库完全向后兼容 FastReport WPF、FastReport .NET 和 FastReport Mono。它支持 Avalonia UI、.NET 7 和 .NET 8。

准备阶段

首先,我们需要从官网安装Visual Studio Code 。下载最新版本的 Visual Studio Code。

下一步是安装 .NET 8 本身。为此,您可以访问 Microsoft 官方网站并下载适用于 Linux 的安装程序。

SDK.NET 8

我们需要安装 Avalonia 模板以进行进一步的工作。为此,我们需要打开控制台并输入以下命令:

dotnet new install Avalonia.Templates

接下来,打开 Visual Studio Code 并配置它。转到扩展选项卡。我们需要安装以下扩展:.NET Install Tool、Avalonia for Visual Studio Code 和 C#。

Avalonia for Visual Studio Code

安装必要的扩展后,我们需要连接私有NuGet服务器来安装所需的FastReport包。您可以通过此链接了解如何使用私有 NuGet 服务器。

完成这些步骤后,我们就可以开始创建项目了。

创建项目

要创建 Avalonia 项目,请打开 Visual Studio Code。由于我们已经安装了必要的模板和扩展,因此我们应该有一个“创建 Avalonia 项目”按钮。点击它。然后,选择“Avalonia App”并指定项目名称。我们将其命名为“FastReportAvalonia”。选择将存储项目的目录。

使用 Avalonia 模板创建项目

创建项目后,在项目中安装.NET 8时可能会遇到错误。您可以按照以下步骤修复:
1) 在错误窗口中,单击“配置管理器”;
2) 显式指定 .NET 8 的路径。例如:/usr/share/dotnet/dotnet。

在不同的发行版中,.NET 8的存储路径可能会有所不同,因此请在您的项目中考虑到这一点。

安装.NET时出错

之后,我们需要连接FastReport包。为此,请打开 .csproj 文件并添加以下行:

<PackageReference Include=”FastReport.Avalonia” Version=”2024.1.9” />
<PackageReference Include=”FastReport.Forms.Avalonia” Version=”2024.1.9” />

我们的文件应该看起来像这样:

.csproj 文件

接下来,转到 MainWindow.axaml 文件并添加一个按钮。 、

<Button Click =”ButtonClicked”> Start </Button>

文件中的代码应如下所示:

MainWindow.axaml 文件

下一步是编写按钮的逻辑。为此,请打开 MainWindow.axaml.cs 文件并创建一个事件。

using FastReport;
…..
public void ButtonClicked(object source, RoutedEventArgs args)
{
Report report = new Report();
report.Load(“Отчет.frx”);
report.Design();
}

MainWindow.axaml.cs file

现在我们可以运行我们的应用程序了。为了调试,我们需要使用.NET 5+。启动后,将出现一个带有“开始”按钮的窗口。单击它,设计器将启动。

推出设计师

我们还可以启用预览并在预览模式下查看报告。

报告预览

因此,我们能够使用 Visual Studio Code 在 Linux 上运行 FastReport Avalonia。正如您所看到的,设置和启动过程并不复杂。安装SDK包并配置私有NuGet包就足够了,然后就可以使用FastReport Avalonia了。

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

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

相关文章

Hyper-V 管理器安装的ubutun扩容磁盘空间说明

一、删除检查点 首先把这个想要扩容的虚拟机停止掉&#xff0c;然后找到检查点&#xff0c;全删除掉&#xff0c;否则没法编辑这个虚拟磁盘。 二、编辑虚拟磁盘 下面截图中下一步不能点击的&#xff0c;只要删除检查点之后就可以点击了。点击下一步然后选择扩容&#xff0c;然后…

组合模式(结构型)

目录 一、前言 二、透明组合模式 三、安全组合模式 四、总结 一、前言 组合模式(Composite Pattern)是一种结构型设计模式&#xff0c;将对象组合成树形结构以表示“部分-整体”得层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式由以下角色组成…

AI助手,为生活和工作增添新体验

在当今科技飞速发展的时代,人工智能(AI)已经渗透到我们生活和工作的方方面面。无论是传统的大型语言模型,还是专注于搜索领域的AI助手,都为我们带来了前所未有的便利和效率。让我们一起来探索这些AI产品的魅力所在。 大型语言模型凭借强大的自然语言处理能力,可以为我们提供多…

SpringSecurity源码分析(RemeberMe)

RememberMeServices RememberMeServices 记住我的服务的接口 可以重写实现自己的记住我 public interface RememberMeServices { //建议 org. springframework. security. authentication. RememberMeAuthenticationToken 在大多数情况下使用它&#xff0c;因为它具有相应的身份…

C++初识及概述

C概述 c简介 “ c ”中的来自于c语言中的递增运算符&#xff0c;该运算符将变量加1。c起初也叫 ” c with clsss ”.通过名称表明&#xff0c;c是对C的扩展&#xff0c;因此c是c语言的超集&#xff0c;这意味着任何有效的c程序都是有效的c程序。c程序可以使用已有的c程序库。…

词袋法TFIDF

Tf-idf⽂本特征提取 TF-IDF的主要思想是&#xff1a;如果某个词或短语在⼀篇⽂章中出现的概率⾼&#xff0c;并且在其他⽂章中很少出现&#xff0c;则认为此词或者短语具有很好的类别区分能⼒&#xff0c;适合⽤来分类。TF-IDF作⽤&#xff1a;⽤以评估⼀字词对于⼀个⽂件集或…

OpenAI 发布 AI 生成图片检测器;Meta 推出 AI 广告创意工具;Google 正式发布 Pixel 8a,主打 AI

OpenAI 发布 AI 生成图片检测器 OpenAI 昨日官宣推出专用的 AI 监测工具&#xff0c;用于监测图片是否由其旗下 AI 图片生成工具 DALL-E 生成&#xff0c;准确率高达 98.8%。 不过该公司表示&#xff0c;这个检测工具并非旨在检测 Midjourney 和 Stability 等其他流行生成器生…

安卓使用Fiddler抓包 2024

简介 最近试了一下安卓使用fiddler 抓包&#xff0c;发现https包基本都会丢失。原因是Anandroid 7版本针对ssl安全性做了加强&#xff0c;不认可用户的证书。我们要做的就是把fiddler导出的证书进过处理后放置到系统证书目录下面&#xff0c;这样才能抓包https请求。 这里使用…

https介绍,加密解密(举例+必要性,对称/非对称加密介绍),数字摘要/指纹(介绍,应用(session id,网盘的秒传功能))

目录 https 引入 介绍 加密解密层 介绍 没有绝对的安全 使用ssl的弊端 加密解密 概念 加密 解密 秘钥 举例 现实中 网络中 加密的必要性 常见加密方式 对称加密 特点 非对称加密 特点 数字摘要/指纹 介绍 应用 session id 百度网盘的秒传功能 https …

21_Scala集合_可变数组ArrayBuffer

文章目录 ArrayBuffer1.创建可变数组ArrayBuffer2.增加数据3.删除数据4.修改数据5.查询数据Appendix ArrayBuffer ArrayBuffer可变数组–感觉优点类似于Java的ArrayList 1.创建可变数组ArrayBuffer –请注意下面的mutable import scala.collection.mutable.ArrayBuffer //m…

DuDuTalk:4G桌面拾音设备在银行网点服务场景的应用价值

随着科技的飞速发展&#xff0c;银行业也在不断地寻求创新以提高服务质量和效率。在这个过程中&#xff0c;4G桌面拾音设备作为一种新型的智能设备&#xff0c;其在银行网点服务场景中的应用价值逐渐凸显出来。本文将从多个角度探讨4G桌面拾音设备在银行网点服务场景的应用价值…

英语学习笔记6——What make is it?

What make is it? 它是什么牌子的&#xff1f; make n.&#xff08;产品的&#xff09;品牌名称    v. 制作 区别&#xff1a;model n.&#xff08;产品的&#xff09;型号       n. 模型       n. 模特 make 指的是大的品牌名称&#xff0c; model 是旗下产品…

MapReduce原理

MapReduce 的实际处理过程可以分解为 Input、Map、Sort(排序)、Combine(局部合并)、Partition(分区)、Reduce(全局聚合)、Output 等阶段。 1 MapReduce的作用 化大为小、分而治之2 Map和Reduce阶段的作用 Map阶段: 把输入变成(Key,Value)结果,用于reduce阶段的输入.(结果局…

专业习惯:拥有好习惯,让自己少走弯路

小细节决定成败&#xff0c;小习惯决定未来。也许读者对于做IT产品缺乏深度与广度的应用认知&#xff0c;不能完全理解&#xff0c;这没有关系。跟着博主的节奏来&#xff0c;随着理论结合实践的深入学习&#xff0c;你会越来越明白的。 俗话说&#xff0c;”有志不在年高&…

Js地图路线规划以及点击获取经纬度

废话不多说&#xff0c;直接上代码。 代码script引用链接链接来自高德地图开放平台。&#xff08;高德开放平台 | 高德地图API (amap.com)&#xff09; <!doctype html> <html><head><meta charset"utf-8"><meta http-equiv"X-UA-…

OpenHarmony 实战开发——南向统一编译的docker镜像来了

由于我自己的南向设备开发平台的需求&#xff0c;我将当前几个不同的 docker 镜像版本进行了整合&#xff0c;经过一段时间的攻关和验证&#xff0c;目前整合已完成&#xff0c;新版本的 Dockerfile 如下&#xff0c;这个不是公共需求&#xff0c;所以没有提交主干&#xff0c;…

std::lock_guard和std::unique_lock的差别

std::lock_guard 和 std::unique_lock 都是 C 标准库 <mutex> 中提供的用于管理互斥体&#xff08;mutex&#xff09;的 RAII&#xff08;Resource Acquisition Is Initialization&#xff09;风格的类。它们的主要目标都是确保互斥体在适当的时候被锁定和解锁&#xff0…

Web APIs 学习归纳8---移动端特效

上一节学习了PC端的特效&#xff0c;现在学习移动端的特效。 一、移动端触屏事件 1.1 触屏事件概述 移动端浏览器兼容性较好&#xff0c;我们不需要考虑以前 JS 的兼容性问题&#xff0c;可以放心的使用原生 JS 书写效果&#xff0c;但是移动 端也有自己独特的地方。比如触屏…

Go语言函数

在Go语言中&#xff0c;函数是一种基本的构建块&#xff0c;用于组织代码并执行特定任务。它们是可重复使用的代码段&#xff0c;可以接收输入参数&#xff0c;执行一系列操作&#xff0c;并可返回结果。以下是Go语言中函数的详细介绍及其使用方法&#xff1a; 基本语法 Go语…

让新手变中手的ChatGPT 使用方法

让新手变中手的ChatGPT 使用方法 已经要一年了,没想到这篇还是一样有用。看到许多依然是一句话就要问出结果的教学,就知道AI 进步很快,但人的学习速度还需要更多时间。 以下为去年原版内容加上新的两招更新,希望帮助你使用ChatGPT 更好用,当未来文字可直接生成影像时,你…