首页 > 其他分享 >NuGet私有化部署

NuGet私有化部署

时间:2024-11-19 22:18:16浏览次数:1  
标签:部署 私有化 离线 NuGet UI NET 安装 Avalonia

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

 

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/Leo_wl/p/18555741

相关文章

  • springboot毕设高校学生党校信息管理系统安全开发源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着高校党建工作的不断发展和学生党员队伍的逐步壮大,高校学生党校的管理工作变得日益复杂。传统的人工管理方式已难以满足对众多学生党校相关信......
  • springboot毕设大学生心理咨询平台程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会的不断发展,大学生面临着诸多压力源,如学业竞争压力、人际关系的复杂性、未来就业的不确定性等。这些压力导致大学生心理健康问题日益凸显......
  • YOLO11:TensorRT模型加速与部署
    视频链接:YOLO11:TensorRT模型加速与部署_哔哩哔哩_bilibili《YOLO11:TensorRT模型加速与部署》课程致力于帮助学生实战YOLO11目标检测算法的TensorRT加速部署。常心老师将手把手带领大家从0开始搭建YOLO11-TensorRT环境,带领大家排坑、避坑、填坑。本课程将进行环境搭建、模型转......
  • 2025最新-计算机毕业设计Java基于kubenetes的OpenStack私有云平台部署
    一、项目介绍  基于K8S的opoenstack私有云平台的监测系统通过对Web应用服务器运行情况的分析统计系统的建设以实现服务器运行数据监控与分析功能。私有云平台是web应用正常运行的核心,为了确保这些网站的稳定运行,势必需要做好对网站服务器的监控。做好对服务器运行的各......
  • Ziya-LLaMA-13B 模型在GPU 上部署
    Ziya-LLaMA-13B模型在GPU上部署Ziya-LLaMA-13B是IDEA-CCNL基于LLaMa的130亿参数的大规模预训练模型,具备翻译,编程,文本分类,信息抽取,摘要,文案生成,常识问答和数学计算等能力。目前姜子牙通用大模型已完成大规模预训练、多任务有监督微调和人类反馈学习三阶段的训练过程。1.部署......
  • Docker部署ELK7.17.10
    一.安装前准备    需要准备elasticsearch_7.17.10,kibana_7.17.10,logstash7.17.10三个镜像,这里我用的离线镜像包elasticsearch_7.17.10.tar,kibana_7.17.10.tar,logstash7.17.101.先执行命令包导入镜像dockerload-ielasticsearch_7.17.10.tardockerload-ikiban......
  • 萤石设备视频接入平台EasyCVR私有化部署视频平台智慧工地无线监控系统解决方案
    在建筑行业,工地的安全管理和环境监控是确保工程顺利进行的关键。随着智慧城市建设的推进和技术的发展,传统的工地管理模式已经无法满足现代建筑施工的需求。EasyCVR智慧工地无线监控系统解决方案针对车辆、人员出入口、塔吊、围墙边界、施工区、办公区、工人生活区、材料存放区等......
  • Node.js 后端项目部署与 Docker 容器化过程总结
    Node.js后端项目部署与Docker容器化过程总结在windows本地1.准备Node.js项目安装并初始化Node.js项目:npminit-y安装所需的依赖:npminstallexpressmssqldotenv2.编写后端代码(app.js)使用express创建路由,连接SQLServer数据库,处理数据库操作:co......
  • Ollama、轻量级AI 模型,Windows本地部署
    Windows下载部署Ollama什么是OllamaOllama是一个轻量级的本地推理工具,主要用于运行AI模型。它允许用户在本地设备上运行和交互基于大语言模型(LLM)的应用,而无需依赖云服务。这种工具的主要优势是隐私保护和低延迟,尤其适合那些需要处理敏感数据或希望脱离互联网的场景。......
  • Springboot大学生个人财务管理系统13bek(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学校简介,学生,省钱妙招,收支类型,收入,消费等级,消费预算,借入记录,归还记录,支出开题报告内容一、研究背景随着社会经济的发展和大学教育的普及,大学生经济活......