什么是NuGet.

Nuget 发布本地包到Nuget服务器 nuget官网(建议先看):https://docs.microsoft.com/zh-cn/nuget/what-is-nuget 下载nuget客户端网址:https://www.nuget.org/downloads 操作步骤: 一:前期准备工作 将最新版的nuget客户端下载放在合适的位置,我是放在 C:\Program Files (x86)\C:\Program Files (x86)\nuget.exe 配置环境变量 登录nuget官网,获取apiKey,发布时需要用到 .. 阅读详情

首先,就NuGet的存在形式来说,它是Visual Studio的扩展(Extension)。

然后,就NuGet的功能来说,它是用来管理包(package)的工具,那么什么是包,即后缀名是nupkg的文件,而这个文件是专门为NuGet定制的。这样还是不能说明NuGet的作用,为了阐明NuGet的作用,就要了解包的概念。使用.NET开发,我们不可避免的要使用一些组织内部或外部开发的类库,而我们一般的做法是把dll文件拷贝到本地,然后在Visual Studio中添加引用(Reference),有的时候要让类库可以正常使用还要配置app.config或web.config文件。这些工作有点繁琐,为了简化这个过程,NuGet就出现了。而包中就包含了要拷贝的文件(一般是dll,但不限于此)、一个文件清单(Manifest,描述包的内容)、要做事情的一个列表。这样,只要我们安装一个包,就能把拷贝文件,添加引用,修改配置文件这些工作都自动化的做了,很是方面。

最后,就NuGet的组成来说,它由客户端(Client)和Gallery组成。客户端就是 .vsix文件。Gallery是一个仓库,存放由世界各地的人开发的公用的包的仓库。

zemax显微镜设计 光学显微镜(Optical Microscope,简写OM)是利用光学原理,把人眼所不能分辨的微小物体放大成像,以供人们提取微细结构信息的。我这里是插入进来之后才反转,如果之前已经在目镜的单独文件夹反转过了就不用了。将目镜的焦距设定为25mm,通过缩放,然后将镜头调转过来。镜头数据中的曲率半径、物距像距都设置为变量。将镜头的焦距整体变为16.25mm。将孔径类型设置为按照光阑尺寸浮动。打开物镜的文件,选择插入镜头。由英国物理学家虎克制作。2、像空间孔径0.25。3、像面大小-0.9。 阅读详情

相关推荐

Win11注册表没有MMC的解决方法

本文详细介绍了在Win11系统中解决注册表没有MMC项的问题的方法。通过创建并导入注册表修复文件,我们可以成功地在注册表中添加缺失的MMC项。在操作过程中,需要注意备份注册表、以管理员身份运行工具以及系统更新等事项。希望本文能够帮助到遇到类似问题的用户,提高系统管理的效率和便捷性。如果你还有其他关于Windows操作系统的问题或疑问,欢迎随时提问并寻求帮助。

nntxthml的博客 1553

NuGet 是什么? 理解与使用

NuGet 是什么? 理解与使用 NuGet 是一个自由开源软件包管理系统,用于Microsoft开发平台,以前称NuPack。 NuGet 作为 Visual Studio 扩展,能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。NuGet 包是打包成单个ZIP文件,文件扩展名是 .nupkg,使用开放打包约定(OPC)格式,包好编译代码(Dll)、与...

m0_37805255的博客 5800

【Pytorch】DCGAN实战(三):二次元动漫头像生成

文章目录1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE3.具体实现3.1数据预处理(data.py)(1)导入包(2)定义数据类3.2模型Generator,Discriminator,权重初始化(model.py)(1)导入包(2)Generator(3)Discriminator(4)权重初始化3.3网络训练(net.py)(1)导入包(2)创建类3.4 主函数(main.py)(1)导入文件(2)定义超参数(3)实例化(4)进行训练4.训练过程4.1

qq_44031210的博客 4918

NuGet包管理平台

这节来讲一下.NET下的包管理平台:NuGet。简介我们做一个项目,除了自己的代码文件之外,实际上还要引用诸多代码文件,这些文件可能是我们自己封装的底层框架代码,或者为了完成某个功能而引用的工具类文件等等。在.NET里边,这些可被引用的,负责完成某个可复用功能的代码,我们可以封装为动态链接库(Dynamic Link Library,.dll),也可以通俗...

dotNET跨平台 1218

TIMER-XL:突破长上下文限制的Transformer时序预测新范式

本文深入解析了清华大学提出的TIMER-XL模型,这是一种突破长上下文限制的Transformer时序预测新范式。它采用Decoder-only架构与补丁级生成技术,并创新性地引入TimeAttention机制,有效解决了传统模型在处理海量历史数据时面临的“上下文瓶颈”问题,显著提升了长序列预测的精度与稳定性。

weixin_28340315的博客 445

保姆级教程:用AI辅助反编译Python3.9+的EXE文件(兼容新版pycdc工具)

本文详细介绍了如何利用AI技术辅助反编译Python 3.9+的EXE文件,解决传统工具如uncompyle6无法处理新版字节码的问题。通过pycdc工具和AI大模型的结合,开发者可以高效还原代码逻辑,并提供了从EXE解包到字节码解析的完整流程,适用于逆向工程和代码分析场景。

hill8的博客 1224

NuGet是什么?为什么.NET项目中会有NuGet?如何使用NuGet程序包?

本文首发于**码友网**–《NuGet是什么?为什么.NET项目中会有NuGet?如何使用NuGet程序包?》 概述 大家好,我是专注.NET开发的码友网创建者Rector。 在.NET应用程序编程开发中,开发者通常使用类库来管理、维护属于同一分类的程序代码,以便代码的重用。一般情况下,处于同一类库的所有类都位于同一程序集。 这些类库被编译器编译后会生成扩展名为.dll的动态链接库文件,你可以在其它项目中通过引用的方式导入这些.dll程序集并使用其中被封装的类及成员。 但随着项目越来越大、越来越多,使用手动

码友网官方博客 1万+

MuJoCo 机械臂关节空间阻抗控制Impedance实现(附代码)

阻抗控制通过调整关节的刚度和阻尼,让机器人在接触时产生顺应性,减少冲击力,其核心目标是在接触外部载荷时能够自适应调整输出力矩,实现力与位置的协同控制。阻抗控制可以很快的到达设定位置,在此基础上,使用mujoco交互中的施加外力操作,可以看到当外力松开后,机械臂也可以很快的回弹回设定位置。其中self.Kp和self.Kd为固定刚度和阻尼系数,通过修改刚度和阻尼参数,可以变得更柔顺来应对各种场景。注释掉该行后,直接simulate仿真可以看到机械臂控制位置震荡等情况,接下来引入关节空间阻抗控制的代码。

darcsdn 1274

Nuget总结

NuGet是一个.NET平台下的开源项目,是.NET平台的包管理工具。它可以创建、上传和引用package,并且可以通过或自己搭建程序集源。Nuget包的扩展名为.nupkg的单个ZIP文件,其中包含编译代码(dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。

Chrisgin的博客 3127

RTK_ROS_导航(4):接入move_base

现在我们要将之前的数据接入到Move_base中,使得机器人能够根据Map上的终点进行导航,并且实现避障效果如下图。

旋风小短腿 1947

【毕设保姆级指南】基于YOLOv8的DAGM 2007工业缺陷检测系统从搭建到落地

本教程基于YOLOv8算法实现DAGM 2007工业缺陷检测系统,包含数据处理、模型训练和可视化界面开发全流程。首先对DAGM数据集进行格式转换和划分,然后通过YOLOv8训练工业缺陷检测模型,最终构建PyQt5交互界面实现缺陷可视化检测。该系统可用于智能制造中的产品质量控制,帮助快速定位工业产品缺陷,提升检测效率和准确性,为工业质检提供高效解决方案。

LXY_LOVE36的博客 182

NuGet包介绍

前言 什么是NuGet? NuGet是.NET的软件包管理器。NuGet客户端工具提供了生成和使用软件包的功能。NuGet Gallery是所有软件包作者和使用者都使用的中央软件包存储库。 包的安装和卸载 (以Newtonsoft.Json举例) 1.控制台 安装:Install-Package Newtonsoft.Json 卸载:UnInstall-Pack...

breakbridge的博客 4846

50、压电微泵与技术设备驱动的研究分析

本文研究了压电微泵在弹性微通道中的流体流动特性及技术设备驱动的振动行为。通过建立轴对称流固耦合模型,利用FreeFem++进行数值模拟,分析了不同数量压电致动器和频率对微泵流量的影响,发现多个致动器按特定时序压缩可产生净正向流量,并提出了稳态流量的近似解析公式。同时,针对技术设备驱动系统,探讨了周期性负载引起的强迫振动特性,明确了共振条件及影响因素,并比较了主动、被动和优化设计等振动控制策略。最后展望了实验验证、多物理场耦合与智能控制等未来研究方向,为相关设备的优化设计与高效运行提供了理论支持。

convnet3designer的博客 148

初识NuGet,实战NuGet

当你一直都在做小项目的时候,可能你永远也不会使用到NuGet工具。NuGet用于管理第三方的组件(无论是库还是工具),只需要建立一个NuGet Package的包,建在NuGet的站点上,就做到了共享便捷,更新同步的工作!类似于云,共享一片天空,而且是同一片云!对于NuGet的解释,专业的说法是:NuGet是一个.NET平台下的开源的项目,是Visual Studio 扩展,它能够简化在

程序媛~ 2504

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

创建 NuGet 程序包发布到 NuGet 官网

本文介绍了使用Visual Studio 2022将.NET类库制作为NuGet包并发布到NuGet官网的完整流程。主要内容包括:NuGet包的基本概念、注册NuGet账号并获取API密钥、配置包属性、通过两种方式生成NuGet包(构建时生成和使用.NET CLI命令),以及最终使用.NET CLI将包发布到NuGet官网。文章还展示了如何在项目中引入已发布的NuGet包,并提供了相关GitHub和Gitee代码仓库的链接。整个过程详细说明了从创建到发布NuGet包的各个关键步骤,为开发者提供了实用的技术指

xdpcxq的专栏 1082

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

nuget 是如何还原包的

nuget 是如何还原包的Intro一直以来从来都只是简单的用 nuget 包,最近想折腾一个东西,需要自己搞一个 nuget 包的解析,用户指定 nuget 包的名称和版本,然后去解析...

dotNET跨平台 1441

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

使用nuget 打包并上传 nuget.org

使用nuget打包并上传nuget.org

qq_40615333的博客 1885

NET Core:搭建私有Nuget服务器以及打包发布Nuget包

docker 安装https://www.cnblogs.com/liuxiaoji/p/11014329.html 1.使用docker搭建私有Nuget服务器 docker run -d -p 8085:80 -v /home/nuget/db:/var/www/db -v /home/nuget/packages:/var/www/packagefiles -e NUGET_AP...

weixin_30256505的博客 1124

部署NuGet服务器和发布自己的NuGet包

直接正题。。。 部署NuGet服务器: 1.在visual studio中创建空项目。 2.安装NuGet.Server包:Install-Package NuGet.Server。安装成功,提示覆盖web.config,是。 3.打开web.config,找到configuration->appSettings->key="apiKey",设置value=“9058B31A-D0E3

zhengzhengyi的专栏 5938

什么是nuget?nuget包是如何管理

做windows开发的,迟早会接触到nuget这个东西,那么今天我们就来研究一下什么是nuget? 我们先从另外一些大家熟悉的概念入手,做linux的大家应该应该听说过apt-get,yum,deb等等,是的这些都是包管理相关的。 而nuget就是跟他们一类的东西,nuget就是一套用于代码共享的标准的体系,这里面包含了代码包的创建,存储,以及共享,相应的有对应的工具,来完成这些事儿。 来自...

Microsoft_Mao的博客 5640

NuGet.Client配置详解:如何高效管理nuget.config与包源设置

NuGet.Client是一套强大的客户端工具,包含Visual Studio扩展、命令行工具和MSBuild支持,能帮助开发者高效管理NuGet包。本文将详细介绍如何配置nuget.config文件以及设置包源,让你的NuGet包管理更加得心应手。 ## 认识nuget.config文件 nuget.config是NuGet的配置文件,它包含了包源、代理设置、凭据等重要信息。在NuGet.C

gitblog_01404的博客 370

Nuget更新

Nuget包正常更新的步骤: (1)下载NuGet.exe运行包放到要更新的Nuget包文件夹下,如:更新ITOO.AuthorityBackUser.Contracts

等待着雨水,茁壮成长--李建敏 1517

NuGet.Client项目结构解析:从NuGet.Core到NuGet.Clients的架构设计

作为.NET生态系统中最重要的包管理器,NuGet.Client项目为开发者提供了强大的包管理工具集。本文将深入解析NuGet.Client项目的架构设计,从核心库NuGet.Core到客户端工具NuGet.Clients的完整结构,帮助开发者更好地理解这一关键项目的内部工作机制。🔧 ## 项目概述与核心架构 NuGet.Client是NuGet包管理器的客户端工具集,包含了Visual S

gitblog_00983的博客 570

NuGet.Client插件开发终极指南:如何扩展NuGet.Protocol与自定义包源协议

想要扩展NuGet.Client的功能并创建自定义包源协议吗?🚀 本文将为你提供完整的NuGet.Protocol插件开发指南,帮助你深入理解NuGet的扩展机制,掌握自定义包源协议的实现方法。作为.NET生态系统中最重要的包管理器,NuGet的扩展能力让开发者能够创建定制化的包管理解决方案。 ## 📦 NuGet.Protocol架构概览 NuGet.Protocol是NuGet客户端的

gitblog_00397的博客 852

NuGet发布

NuGet是什么?   Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便。 为什么要使用NuGet。我们可以把我们开发的工具或库,分享给他人使用的时候,我们需要建立NuGet Package,如果别人想使用自己分享的

郭新宇 天道酬勤 700

关于NuGet

一、NuGet是什么? NuGet是Microsoft开发平台的程序集包管理器,它由客户端工具和服务端站点组成,客户端工具提供给用户管理和安装/卸载软件程序包,以及打包和发布程序包到NuGet服务端站点等功能,服务端站点存储已经发行的软件包,并为NuGet客户端软件包库提供服务,使软件包共享给其他的开发者。 二、NuGet服务端站点的搭建 1、打开Visual Studio创建空的...

Jasky2011的博客 474
下一篇: NuGet的组成
nothing_more_than
博客等级 码龄18年 75粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值