首页 > 其他分享 >AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决

AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决

时间:2024-10-28 22:31:26浏览次数:5  
标签:离线 全攻略 NuGet UI NET 安装 Avalonia

1. 引言

在网络受限或完全离线的环境中开发.NET项目(本文示例为Avalonia UI项目),可能会遇到一些挑战。本文将为您提供一套完整的离线开发解决方案,包括IDE的安装、Avalonia UI模板的配置、私有化NuGet服务的部署以及NuGet包的制作和上传等。

2. IDE安装指南

Visual Studio 2022安装

Visual Studio 2022是微软推出的最新IDE,支持Avalonia UI项目的开发。以下是详细的离线安装步骤:

  • 离线安装包制作:首先,根据网友 VS2022离线安装包 的指南,制作Visual Studio 2022的离线安装包。
  • Avalonia UI扩展安装:安装Visual Studio后,通过 Visual Studio Marketplace 下载并安装Avalonia for Visual Studio 2022扩展。

  • 安装过程中遇到失败

根据微信群内@rabbitism的解答(感谢@daidai_cn的帮助),我们可以通过解压该扩展文件,删除下图框选的Extension.vsext文件后再进行安装:

正常安装了:

JetBrains Rider安装

JetBrains Rider IDE在2020.3版本中开始内置支持Avalonia XAML,包括对Avalonia特定XAML功能和自定义代码检查的一流支持。

离线安装包下载地址:下载 Rider:跨平台 .NET IDE (jetbrains.com)

3. 安装Avalonia UI模板

在线安装请参考文档 Avalonia Docs,离线安装请点击 Avalonia.Templates 下载:

安装方式同上图.NET CLI命令脚本:

dotnet new install avalonia.templates.11.0.10.1.nupkg

现在,无论是在Visual Studio还是JetBrains Rider中,您都可以使用Avalonia UI模板来创建新项目了。

VS 2022中Avalonia UI模板:

Rider中使用模板:

4. 私有化部署NuGet服务

创建好项目后,程序也是无法正常运行的,默认模板依赖Avalonia UI的一些NuGet包,需要在线安装,可以直接把相关库拷贝到内网,但一个一个拷贝、引用还是很麻烦。

为了方便团队内部成员之间共享和管理NuGet包,您可以考虑部署私有NuGet服务。本文推荐使用BaGet作为轻量级的NuGet服务器,参考该BaGet项目说明

  1. 安装 .NET Core 3.1 SDK,该程序能支持的.NET最新版本,有兴趣可以Clone修改成.NET 8\9(PR中有惊喜,网友有PR升级分支);
  2. 下载最新版的Release压缩包 Releases · loic-sharma/BaGet
  3. 运行服务dotnet BaGet.dll
  4. 浏览器打开http://localhost:5000访问:

OK,这就算部署完成了。

5. NuGet包制作(可略)

网上教程较多,可简单配置库的工程文件支持NuGet包生成,参考CodeWF.EventBus

<Project>
	<PropertyGroup>
		<Company>https://codewf.com</Company>
		<Authors>沙漠尽头的狼</Authors>
		<Owners>https://codewf.com</Owners>
		<AssemblyVersion>$(Version)</AssemblyVersion>
		<FileVersion>$(Version)</FileVersion>
		<Version>$(Version)</Version>
		<Description>通过 CodeWF.EventBus 提供的 事件总线,我们可以很轻松的实现 CQRS 模式。根据业务需求,我们可以创建并维护读模型,将读操作和写操作进行分离,从而提高应用程序的可扩展性和性能。可在各种模板项目使用:WPF、Winform、AvaloniaUI、ASP.NET Core等。The CodeWF.EventBus allows us to easily implement the CQRS mode. According to business requirements, we can create and maintain a read model to separate read and write operations, thereby improving the scalability and performance of the application. Can be used in various template projects: WPF, Winform, AvaloniaUI, ASP. NET Core, etc.</Description>
		<ApplicationIcon>Resources\logo.ico</ApplicationIcon>
		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
		<Title>$(AssemblyName)</Title>
		<Copyright>Copyright © https://codewf.com 2024</Copyright>
		<AssemblyName>$(AssemblyName)</AssemblyName>
		<RootNamespace>$(AssemblyName)</RootNamespace>
		<PackageId>$(AssemblyName)</PackageId>
		<PackageTags>C# EventBus; WPF; Winform; AvaloniaUI,ASP.NET Core;</PackageTags>
		<PackageIcon>logo.png</PackageIcon>
		<PackageProjectUrl>https://github.com/dotnet9/CodeWF.EventBus</PackageProjectUrl>
		<RepositoryUrl>https://github.com/dotnet9/CodeWF.EventBus</RepositoryUrl>
	</PropertyGroup>
	<ItemGroup>
		<None Include="Resources\logo.png">
			<Pack>True</Pack>
			<PackagePath>\</PackagePath>
		</None>
	</ItemGroup>
</Project>

生成库工程时就会生成相应的NuGet文件,这里是已经发布的NuGet包地址:https://www.nuget.org/packages/CodeWF.EventBus

6. NuGet包上传

可以上传自己制作的NuGet包,也可以上传从 NuGet官网 或第三方获得的NuGet包。

我们打开自己部署的NuGet首页http://localhost:5000:

点击Upload a package,切换到NuGet包上传命令说明:

我们以.NET CLI上传NuGet包举例,首先准备NuGet文件,比如从NuGet官网搜索下载Avalonia UI的基础包:

下载好以后,在当前下载目录打开CMD命令行输入:

dotnet nuget push -s http://localhost:5000/v3/index.json avalonia.11.1.0-rc1.nupkg

上面提示NuGet服务配置了密钥,我们为了简单,先停止NuGet服务,打开它的配置文件appsettings.json,清空ApiKey节点值,再运行NuGet服务:

再执行上传命令,现在成功了:

NuGet首页也能搜索到了:

7. IDE配置NuGet源

复制前面NuGet上传页面图中红色字体的URL地址:http://localhost:5000/v3/index.json, 在VS中配置NuGet搜索地址:

剩下的就和平时安装包一致了。

小知识:个人临时开发可将上面的源配置为本地NuGet目录路径。

8. 总结

本文介绍了如何在本地网络环境中成功安装并配置AvaloniaUI所需的开发工具和模板,以及如何部署私有NuGet服务并制作及上传NuGet包以便团队内部成员之间共享和管理NuGet包。

希望这些信息能对您的AvaloniaUI项目开发有所帮助。如有其他问题,欢迎随时向我提问。

标签:离线,全攻略,NuGet,UI,NET,安装,Avalonia
From: https://www.cnblogs.com/Dotnet9-com/p/18511697

相关文章

  • Ubuntu 22.04 LTS 在线/离线安装 Docker
    Docker安装方式准备环境root@ubuntu2204:~#hostnamectlStatichostname:ubuntu2204Iconname:computer-vmChassis:vmMachineID:06204406df2343f89f6ba6550a356854BootID:3142ea12a9e64adbab7b8939935e7698Virtualization:vmw......
  • 13 Docker容器单机网络架构全攻略:使用自定义桥接的实践与探索
    文章目录Docker容器单机网络架构全攻略:使用自定义桥接的**实践与探索**五使用自定义docker桥接网络5.1重新创建新的容器5.2重新创建新的容器,并且指定网络5.3docker网桥切换Docker容器单机网络架构全攻略:使用自定义桥接的实践与探索五使用自定义do......
  • 11 Docker容器单机网络架构全攻略:深入探索内外网互访的奥秘
    文章目录Docker容器单机网络架构全攻略:深入探索内外网互访的奥秘三docker网络基础2-内外网互访3.1docker容器互访3.2docker容器访问外网3.3容器外部网络访问内部网络3.4查看容器详细信息3.5查看容器ip地址3.6查看网络端口地址转换Docker容器......
  • 媒体播放器应用程序的解码器如下:使用 DISM 集成 HEVC 视频扩展应用;要使用 DISM 集成 H
    WMPLegacyandtheMediaPlayer Appare 100%differentsoftware'sandshareexactlyzerocodebetweenthem.MycodecsoftwaresupportsWMPbecauseitcanuseDirectshowcodecsbuttheMediaPlayerAppusesMediaFoundationCodecswhichare distributed......
  • centos7.6离线安装Redmine 5.1.1教程
    centos7.6离线安装Redmine5.1.1教程网络上离线安装redmine资料少,有帮助大家请点赞总体思路:先申请一台云主机(天翼云、阿里、腾讯),安装相同版本的centos操作系统,有两个好处:一是用云主机下载Redmine的RPM包以及所有依赖,再复制到离线centos服务器上;二是可以先在云主机上安......
  • 两句话讲清楚离线安装screen
    两句话讲清楚离线安装screen目录两句话讲清楚离线安装screen写在前面解决方案问题screen使用写在前面摘要众所周知,如果linux系统没有安装screen,那么服务器将会很难搞(我编的)。即使关闭了连接服务器的窗口,也想随时重新回到工作区,而不是只能通过本地保存的日志,或者kill进程。......
  • centos7离线安装nvidia-docker2(附安装包)
    说实话全网没有找到一个安装包,如果你刚好从我这里找到,给我留言我就能看到发给你。或者你按照我的教程使用yum离线下载也可以在自己的docker中拉取一个centos:7镜像,创建一个容器在容器中安装docker-ce#设置docker镜像源yum-config-manager\--add-repo\https://mirro......
  • Visual Studio 离线部署
    前言最近在在做一个移植项目,把代码从Unix移植到Windows上面,考虑两个编译链:(1)MINGW64-CRT(交叉编译)(2)VisualStudio。而VisualStudio社区版需保持在线使用,不然试用将存在过期时间。由于办公环境在内网内,所以考虑使用VisualStudio的生成工具配合CMake管理......
  • 开源模型应用落地-Qwen2.5-7B-Instruct与vllm实现离线推理-CPU版本
    一、前言   离线推理能够在模型训练完成后,特别是在处理大规模数据时,利用预先准备好的输入数据进行批量推理,从而显著提高计算效率和响应速度。通过离线推理,可以在不依赖实时计算的情况下,快速生成预测结果,从而优化决策流程和提升用户体验。此外,离线推理还可以降低云计算成本......
  • docker以及docker-compose 离线安装
    一、离线安装docker1.下载离线包去官网下载离线包https://download.docker.com/linux/static/stable/ 我这里下载的是X86_64的包, 2.安装dockersudotarzxvfdocker-20.10.13.tgz  将docker目录下面的文件全部拷贝到/usr/bin/sudocp-pdocker/*/usr/bin将d......