dotnet new install avalonia.templates.11.0.10.1.nupkg
现在,无论是在Visual Studio还是JetBrains Rider中,您都可以使用Avalonia UI模板来创建新项目了。
VS 2022中Avalonia UI模板:
Rider中使用模板:

创建好项目后,程序也是无法正常运行的,默认模板依赖Avalonia UI的一些NuGet包,需要在线安装,可以直接把相关库拷贝到内网,但一个一个拷贝、引用还是很麻烦。
为了方便团队内部成员之间共享和管理NuGet包,您可以考虑部署私有NuGet服务。本文推荐使用BaGet作为轻量级的NuGet服务器,参考该BaGet项目说明[7]:
.NET 8\9
(PR中有惊喜,网友有PR升级分支);dotnet BaGet.dll
http://localhost:5000
访问:OK,这就算部署完成了。
5. NuGet包制作(可略)网上教程较多,可简单配置库的工程文件支持NuGet包生成,参考CodeWF.EventBus[10]:
<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官网[11] 或第三方获得的NuGet包。
我们打开自己部署的NuGet首页http://localhost:5000
:
点击Upload a package
,切换到NuGet包上传命令说明:
我们以.NET CLI
上传NuGet包举例,首先准备NuGet文件,比如从NuGet官网搜索[12]下载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首页也能搜索到了:
复制前面NuGet上传页面图中红色字体的URL地址:http://localhost:5000/v3/index.json
, 在VS中配置NuGet搜索地址:
剩下的就和平时安装包一致了。
8. 总结本文介绍了如何在本地网络环境中成功安装并配置AvaloniaUI所需的开发工具和模板,以及如何部署私有NuGet服务并制作及上传NuGet包以便团队内部成员之间共享和管理NuGet包。
希望这些信息能对您的AvaloniaUI项目开发有所帮助。如有其他问题,欢迎随时向我提问。
VS2022离线安装包: https://www.cnblogs.com/sailJs/p/16864697.html
[2]Visual Studio Marketplace: https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS
[3]JetBrains Rider: https://www.jetbrains.com/rider/
[4]下载 Rider:跨平台 .NET IDE (jetbrains.com): https://www.jetbrains.com/zh-cn/rider/download/#section=windows
[5]Avalonia Docs: https://docs.avaloniaui.net/zh-Hans/docs/get-started/install
[6]Avalonia.Templates: https://www.nuget.org/packages/Avalonia.Templates
[7]BaGet项目说明: https://github.com/loic-sharma/BaGet
[8].NET Core 3.1 : https://dotnet.microsoft.com/zh-cn/download/dotnet/3.1
[9]Releases · loic-sharma/BaGet : https://github.com/loic-sharma/BaGet/releases
[10]CodeWF.EventBus: https://github.com/dotnet9/CodeWF.EventBus
[11]NuGet官网: https://www.nuget.org/
[12]NuGet官网搜索: https://www.nuget.org/packages?q=avalonia