如何在 Visual Studio for Mac 中使用 .NET 8 上的 FastReport Avalonia

FastReport Business Graphics .NET,是一款基于fastreport报表开发控件的商业图形库,借助 FastReport 商业图形库,您可以可视化不同的分层数据,构建业务图表以进行进一步分析和决策。利用数据呈现领域专家针对 .NET 7、.NET Core、Blazor、ASP.NET、MVC、Windows Forms 和 Mono 提供的完整的产品

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

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

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

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

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

在本文中,我们将详细解释如何使用 Visual Studio IDE 在 MacOS 操作系统上运行 FastReport Avalonia。

准备阶段

首先,我们需要安装Visual Studio for Mac。进一步使用 Avalonia 模板需要特定版本的 Visual Studio,即 17.6.10。您可以通过此链接下载它。它使您能够包含 .NET 8 支持,我们将在稍后讨论。下一步将安装 .NET 8 本身。为此,您可以访问 Microsoft 官方网站并下载 MacOS 的安装程序。

安装完SDK 8.0后,我们需要配置Visual Studio。要使用 .NET 8,我们需要在 Visual Studio 中启用它。为此,右键单击 Visual Studio 并选择“首选项”。

视觉工作室设置

在打开的窗口中,向下滚动到底部,直到到达“预览功能”部分,然后选中“使用 .NET 8 SDK...”选项旁边的框。

视觉工作室设置

单击“确定”并重新启动 Visual Studio。

完成上述步骤后,我们需要安装 Avalonia 模板以进行进一步的工作。安装完成后,我们可以选择Visual Studio中现成的模板来简化开发过程。为此,请打开控制台并输入以下命令:

dotnet new install Avalonia.Templates

现在我们可以开始在 Visual Studio 中创建一个项目。

创建应用程序

启动 Visual Studio 并创建一个新项目。选择模板时,向下滚动到“其他”组并选择“自定义”。在窗口中,选择“Avalonia .NET 应用程序”模板。这些是我们使用控制台命令安装的模板。单击继续。

使用 Avalonia UI 创建新项目

接下来,我们需要配置模板。选择.NET 和 Avalonia 版本。我们建议选择 Avalonia 版本 11.1.0-beta 或更高版本,因为该版本修复了许多视觉错误。对于我们的示例,我们继续使用 .NET 8。单击“继续”。

配置新项目

现在,我们在 Visual Studio 中有一个 Avalonia 模板项目。接下来,我们需要连接一个私有 NuGet 服务器,我们可以在其中获取 Avalonia NuGet 包。为此,右键单击我们的项目并选择“管理 NuGet 包...”。

配置新项目

将 NuGet 包连接到项目

在出现的窗口的最后,有“包源:所有源”。展开列表并单击“配置源...”。

将 NuGet 包连接到项目

在出现的窗口中,单击“添加”。将出现一个用于输入数据的窗口。
- 名称:不带空格的源名称(例如,FastReport-Nuget);
- 位置:https://nuget.fast-report.com/api/v3/index.json;
- 用户名:来自您的快速报告帐户的电子邮件;
- 密码:您的快速报告帐户的密码。

连接到 NuGet 服务器

输入所有必要的数据后,我们可以关闭窗口。现在,我们有一个可以使用的私有 NuGet 服务器。

下一步是添加项目所需的包,即:FastReport.Avalonia和 FastReport.Forms.Avalonia。

为此,在 NuGet Package 窗口中,选择我们的私有 NuGet 服务器作为包源。为了方便起见,我们将在搜索框中输入“Avalonia”以显示相应名称的包。选择所需的软件包并安装它们。

连接 FastReport NuGet 包

现在我们已经配置了项目,我们可以继续编写代码了。接下来,我们考虑一个简单的示例来演示 FastReport Avalonia 包的功能。首先打开MainWindow.axaml.cs文件,填写如下:

using Avalonia.Controls;
using Avalonia.Interactivity;
using FastReport;
namespace FRAvalonia;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void ButtonClicked(object source, RoutedEventArgs args)
{
Report report = new Report();
report.Load("Barcode.frx");
report.Design();
}
}

到目前为止,我们只是添加了一个方法来处理按钮并指定将在设计器中打开哪个报表。

接下来进入MainWindow.axaml,填写如下:

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="FRAvalonia.MainWindow"
Title="FRAvalonia">
<Button Click="ButtonClicked" >Start Designer!</Button>
</Window>

接下来,我们添加按钮本身,该按钮已经分配了一个处理程序。现在,我们可以运行该项目了。

运行项目后,将出现一个带有按钮的窗口。单击按钮,观察 Avalonia 上的 FastReport Designer 启动时的神奇效果。

FastReport Avalonia 设计器

此外,我们可以启用预览模式并在预览中查看报告。

报告预览

这样,我们就成功地使用 Visual Studio 在 MacOS 上运行了 FastReport Avalonia。正如您所看到的,设置和启动过程并不复杂。只需安装 SDK 包,配置私有 NuGet 包,您就可以开始使用 FastReport Avalonia

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

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

相关文章

阿里云服务器租用价格,2024年新版活动报价及租用收费标准

2024年阿里云服务器租用费用&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核4G服务…

解决el-table设置固定高度后,展示不同列时表格高度变小bug

解决el-table设置固定高度后&#xff0c;展示不同列时表格高度变小bug 1、需求分析2、解决方案 1、需求分析 在el-table使用过程中&#xff0c;选择多个参数展示更多列时会出现高度变小问题究其原因可知是el-table列动态发生变化后&#xff0c;el-table__body-wrapper的高度变…

HTML - 你是如何理解link和@import的

难度级别:初级及以上 提问概率:55% link是我们非常熟悉的一个HTML标签,用于引入CSS文件,而@import则存在于CSS文件内部,用于再次引入其他的CSS文件。所以很显然,执行顺序上,link标签会随着HTML文档加载,开始触发下载CSS文件的操作。…

clickhouse 源码编译部署

clickhouse 源码编译部署 版本 21.7.9.7 点击build project&#xff0c;编译工程&#xff0c;经过一定时间&#xff08;第一次编译可能几个小时&#xff0c;后续再编译&#xff0c;只编译有改动的文件&#xff09;生成release目录 在cmake-build-release → programs目录下…

【机器学习】科学库使用第3篇:机器学习概述,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

【generate】如何维护一套icon组件库,直接输出svg为react component

https://github.com/ant-design/ant-design-web3/pull/761/files 实现了icon-preview(通过jsdoc, 鼠标放在组件上可以看到icon的样式)&#xff0c;因为打包方式、产物以及命名上有一些不同&#xff0c;可能需要稍加改造。 这个同步脚本应该后续也用得上&#xff0c;略加改造同步…

git分支-基本分支与合并

问题假设 让我们通过一个简单的分支和合并的例子&#xff0c;演示在实际工作中可能会使用的工作流程。将按照以下步骤进行&#xff1a; 在网站上进行一些工作。为正在开发的新用户故事创建一个分支。在该分支上进行一些工作。 在这个阶段&#xff0c;我们可能会接到一个电话…

原型链污染攻击也称JavaScript Prototype 污染攻击

JavaScript数据类型 let和var关键字的区别 使用var或let关键字可以定义变量 let和var的区别如下&#xff1a; var是全局作用域&#xff0c;let 只在当前代码块内有效 当在代码块外访问let声明的变量时会报错 var有变量提升&#xff0c;let没有变量提升 let必须先声明…

U-net在乳腺癌医学图像分割方面的应用

图像几何变换和生成对抗网络 通过旋转、反转、剪切图像对乳腺医学图像进行数据增强之后&#xff0c;可以提高模型的准确性。但是当前简单的分割和几何变换在医疗图像数据中不会简单使用&#xff0c;而是会集合生成对抗网络&#xff08;GAN&#xff09;结合使用。使用生成对抗网…

zookeeper监听集群节点的实现zkclient组件实现方案(Java版)

ZooKeeper Watcher 机制 client 向zookeeper 注册监听client注册的同时会存储一个WatchManager对象向zookeeper发生改变则notification client 并发送一个WatchManager对象,然后client再更新该对象 package com.jacky.zk.demo;import org.I0Itec.zkclient.IZkChildListener;…

https访问http的minio 图片展示不出来

问题描述&#xff1a;请求到的图片地址单独访问能显示&#xff0c;但是在网页中展示不出来 原因&#xff1a;https中直接访问http是不行的&#xff0c;需要用nginx再转发一下 nginx配置如下&#xff08;注意&#xff1a;9000是minio默认端口&#xff0c;已经占用&#xff0c;…

基于Spring Boot的餐厅点餐系统

基于Spring Boot的餐厅点餐系统 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 部分系统展示 管理员登录界面 用户注册登录界面 …

MySQL-视图:视图概述、创建、查看、更新、修改、删除

第14章 视图 1. 常见的数据库对象2. 视图概述2.1 为什么使用视图&#xff1f;2.2 视图的理解 3. 创建视图3.1 创建单表视图3.2 创建多表联合视图3.3 基于视图创建视图 4. 查看视图5. 更新视图的数据5.1 一般情况5.2 不可更新的视图 6. 修改、删除视图6.1 修改视图6.2 删除视图 …

uniapp微信小程序真机图片不显示

不同设备可能出现部分设备显示不了图片&#xff0c;解决办法&#xff1a;图片地址直接使用&#xff0c;不要拼接&#xff1a; https://images.weserv.nl/?urlhttp

hive 慢sql 查询

hive 慢sql 查询 查找 hive 执行日志存储路径&#xff08;一般是 hive-audit.log &#xff09; 比如&#xff1a;/var/log/Bigdata/audit/hive/hiveserver/hive-audit.log 解析日志 获取 执行时间 执行 OperationId 执行人 UserNameroot 执行sql 数据分隔符为 \001 并写入 hiv…

【Java】:继承

目录 1.为什么需要继承 2.继承的概念 3.继承的语法 4.父类成员访问 4.1子类和父类不存在同名成员变量 1.子类和父类不存在同名成员变量 2.子类和父类成员变量同名 4.2子类中访问父类的成员方法 1.成员方法名字不同 2.成员方法名字相同 5.super关键字 6.子类构造方法 …

使用Flutter创建带有图标提示的TextField

在移动应用开发中&#xff0c;TextField是一种常用的用户输入小部件。然而&#xff0c;有时向用户提供有关他们应该输入什么的提示或说明是很有帮助的。在本教程中&#xff0c;我们将创建一个Flutter应用程序&#xff0c;演示如何在TextField旁边包含一个图标提示。 编写代码 …

WPS二次开发系列:如何获取应用签名SHA256值

在申请WPS SDK授权版时候需要开发者提供应用包名和签名&#xff0c;应用包名好说&#xff0c;那如何生成符合WPS要求的应用签名&#xff08;SHA256)呢&#xff0c;经笔者亲测&#xff0c;有如下两种方式可以实现获取第三方应用签名值&#xff08;SHA256&#xff09; 1. 方法一&…

Day43 动态规划 part05

Day43 动态规划 part05 1049.最后一块石头的重量II 我的思路: 提示说和划分两个和相等的子集差不多&#xff0c;猛然想到&#xff0c;这道题不就是划分子集&#xff0c;用sum - 和最大*2 代码就是划分和相同的子集的变形 解答&#xff1a; class Solution {public int last…

一站式指南:Flutter应用如何顺利登陆苹果App Store

引言 &#x1f680; Flutter作为一种跨平台的移动应用程序开发框架&#xff0c;为开发者提供了便利&#xff0c;使他们能够通过单一的代码库构建出高性能、高保真度的应用程序&#xff0c;同时支持Android和iOS两个平台。然而&#xff0c;完成Flutter应用程序的开发只是第一步…