AvaloniaUIプロジェクトのオフライン開発:IDEのインストール、テンプレートアプリケーション、NuGetプライベートデプロイメントのワンストップソリューション

AvaloniaUIプロジェクトのオフライン開発:IDEのインストール、テンプレートアプリケーション、NuGetプライベートデプロイメントのワンストップソリューション

この記事では、ローカルネットワーク環境でAvaloniaUIを正常にインストールして構成するために必要なツールとテンプレートを説明します。

最后更新 2024/06/28 22:26
沙漠尽头的狼
预计阅读 5 分钟
分类
Avalonia UI
标签
.NET C# Avalonia UI NuGet

1. はじめに

ネットワークが制限されている環境や完全にオフラインの環境(この記事ではAvalonia UIプロジェクトの例を示します)で. NETプロジェクトを開発する場合、いくつかの課題があります。この記事では、IDEのインストール、Avalonia UIテンプレートの設定、プライベートNuGetサービスのデプロイ、NuGetパッケージの作成とアップロードなど、オフライン開発ソリューションの完全なスイートを提供します。

2. IDEインストールガイド

Visual Studio 2022インストール

Visual Studio 2022は、Avalonia UIプロジェクトの開発をサポートするMicrosoftの最新のIDEです。以下は、オフラインインストールの詳細手順です。

  • 离线安装包制作:首先,根据网友 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テンプレート:

ライダーでテンプレートを使用するには:

4. NuGetサービスの民営化

プロジェクトを作成した後、プログラムは正常に実行されず、デフォルトテンプレートはAvalonia UIのNuGetパッケージの一部に依存しており、オンラインでインストールする必要があり、関連するライブラリをイントラネットに直接コピーすることができますが、コピーを1つずつ参照するのは面倒です。

为了方便团队内部成员之间共享和管理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访问:

これで展開が完了しました。

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パッケージを作成およびアップロードする方法について説明します。

この情報がAvalonia UIプロジェクトの開発に役立つことを願っています。ご質問があれば、いつでもお問い合わせください。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/01/11

Avalonia ClipboardとDataGridの問題点

Avaloniaデスクトップソフトウェアの最近の開発で解決された2つの問題を文書化します:クリップボードのコピーのクラッシュ、タブの切り替えDataGridのキートン、原因の分析と解決策

继续阅读
同分类 / 同标签 2025/08/09

Avalonia:Resx/XML/JSONフォーマットをシームレスにサポートするAvaloniaの多言語ソリューション

Avaloniaフレームワーク用に特別に設計された多言語管理ライブラリで、プラグインアーキテクチャを通じて多言語サポートロジックを再構築し、従来のResxリソースファイルと互換性があるだけでなく、XMLとJSONフォーマットのサポートを追加し、型セーフなリソース参照、動的言語切り替えなどの機能を提供し、多言語開発をより簡単かつ効率的にします。

继续阅读