Nuget
我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目,
而不知道我们的dll是否安全?
当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以
让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知
本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传。
下载
首先下载
nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
如果没法下载和我说,我发给你
然后下载一个工具https://docs.nuget.org/Create/using-a-gui-to-build-packages,下载后运行
我们把Nuget.exe放在Path,当然不知道Path,就放在我们要打包的工程文件夹
打包Nuget
我们用MSBuild命令进入项目文件夹,如果找不到MsBuild就用cmd
项目文件夹就是我们要打包项目*.csproj所在文件夹
我的工程文件smms,打开smms.csproj所在文件夹A:\smms\smms
进入文件夹命令
首先进入盘,我是在A盘,
a:
然后进入文件夹
cd smms/smms
我们打包
首先
nuget spec
smms.nuspec
这个可以用文本打开,里面会自动替换
里面有
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2016</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
</package>
-
id
包的ID:必须的唯一的ID,格式和C#命名空间规范相同,在你发布包的时候会去验证唯一性。
-
version
版本号:必须的三段式的版本号,注意每次发布必须大于上一次的版本号,否则将会被nuget驳回。
-
title
标题:非必需的,通常你可以让它和ID保持一致,但是这不是强制的。
-
authors
作者(s):必须的项目,以逗号分隔作者列表。
-
owners
拥有者:你可以随便写,但是在发布的时候会被你的nuget帐户名替代。
最低客户端版本:描述这个包限制的最低nuget客户端版本。
-
iconUrl
一个32*32
像素的.png文件地址,作为最终在nuget中显示的图标
描述、标签、许可地址、项目地址
-
Dependencies
我们发的依赖其他程序,那就写他,具体怎么我还不知,我就放空,不管,好像写的要在NuGet服务器上能找到,否则无法完成自动引用添加
我们可以在vs,Properties打开,写上我们名字和说明
把全部写后生成
其中他会把$$
代为AssemblyInfo.cs
作者代为AssemblyCompany
id代为Assembly名
version代为AssemblyVersion
description代为AssemblyDescription
做完我们文本打开 *.nuspec
改releaseNotes、tags
如果没有修改,我们打包 nuget pack *.csproj
问题: 删除示例 nuspec 值。
说明: Tags 的值“Tag1 Tag2”是示例值,应将其删除。
解决方案: 请替换为适当的值或删除它,然后重新生成程序包。
问题: 删除示例 nuspec 值。
说明: ReleaseNotes 的值“Summary of changes made in this release of the package.”是示例值,应将其删除。
解决方案: 请替换为适当的值或删除它,然后重新生成程序包。
把我们信息写后打包
nuget pack smms.csproj
我们就把我们项目打包,接着我们看到文件夹有*.nupkg
修改项目地址
上传
首先有一个微软账号,登录 https://www.nuget.org
点击自己 https://www.nuget.org/account
复制,这个key是我的,你的应该和我不同
刚才复制的
发布
我们可以在https://www.nuget.org/account/Packages
我们上传包,如果还要上传,我们的version要比之前大
我们在
搜索不到,不过我们还是上传了
安装
Install-Package ID
安装完搜索就可以搜索到
参见:http://www.cnblogs.com/xiaoyaojian/p/4199735.html
命令行使用Nuget
参见:https://docs.nuget.org/consume/command-line-reference
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
全选设置之后UWP即可访问localhost,可以走代理。
Win10 UWP 开发教程 课程 资源 80课时 课程地址:http://blog.csdn.net/shanguuncle/article/details/78111649
下面我们将深入探讨如何在Win10下通过UWP实现这些功能。 首先,我们需要了解UWP(Universal Windows Platform)是微软为Windows 10推出的一种跨设备的应用程序开发框架。它允许开发者编写一次代码,就能在各种...
总结来说,"win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 例子"提供了一个实际操作的平台,让开发者学习如何在UWP环境中利用MVVM模式进行开发。通过分析和实践这个框架,你将能够更好地理解MVVM的工作原理,以及如何...
在Windows 10 UWP应用开发中,常常需要创建一种用户友好的交互方式,即当用户右键点击某个元素时,能在一个特定的位置显示一个浮出菜单(MenuFlyout)。本篇文章将详细介绍如何使用C#实现这样的功能,使得MenuFlyout...
在本文中,我们将探讨如何利用Windows 10的UWP(通用Windows平台)应用程序与ASP.NET Core构建一个图床服务器的客户端。这是一个涉及到跨平台开发和云端图像存储管理的项目,旨在提供一种高效且灵活的方式来上传和...
Nuget 打包命令,可以使用这个工具进行 ...使用方法请看 http://lindexi.oschina.io/lindexi//post/win10-uwp-%E4%B8%8A%E4%BC%A0Nuget-%E8%AE%A9%E5%88%AB%E4%BA%BA%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%E5%BA%93/
win10 moblie uwp qq5.6.1150.1000主程序,不含依赖程序
win10 moblie uwp 越飞阅读1.4.68.0主程序,不含依赖程序
The package AWSSDK.Core with version 3.3.17 could not be found in C:\Users\xxx\.nuget\packages\, C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\. Run a NuGet package restore to download the ...
title: "win10 uwp 字符文本转语音声音文件方法"在 UWP 中,支持将传入的字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaEl
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上...
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上安装...
**MvvmLight-NuGet** 是一个专门为开发者提供的NuGet包,它包含了MvvmLight Toolkit的集成,使得在.NET框架下开发WPF、Silverlight、Windows Phone和Universal Windows Platform(UWP)应用时,能够更加方便地应用...
我们认为我们大多数人都可以同意 Windows 10 是迄今为止 Microsoft 操作系统的最佳版本,尽管它具有各种可感知的或多或少的主观缺点。通过扩展,这也意味着 Windows 10 的资源管理器也是最好的。 诚然,在过去的几...
首先打开 使用微软的账号或 github 账号登陆点击 add new 添加一个 UWP 程序,需要写出 app 的
此安装包为win10的uwp版应用软件Sound Blaster Connect,有需要的朋友可以去下载下来
【描述】提到的"一个uwp开发源码,可以移植到一切win10系统"意味着该项目遵循了UWP的跨平台特性,使得开发者能够在不同类型的Windows 10设备上部署和运行同一套代码。UWP是微软为了统一Windows生态而推出的新开发...
微软推出的开源UWP社区工具包(Windows Community Toolkit)是一个关键的资源,它旨在简化和加速开发流程,使得开发者能够更高效地利用Win10 SDK进行编程。 UWP社区工具包是一个集合了各种辅助工具、组件和示例代码...
如果需要反过来,把同步转异步,可以使用 同步方法转异步写你的代码使用Task.Wait 时需要小心死锁不会出现死锁的代码使用Task.Delay等待即使使用方法