from:http://www.cnblogs.com/zeusro/p/5171084.html

以往做nuget包我们一般要么用命令行,要么用nuget的图形化界面去做,但是一些操作比较麻烦.比如引入命名空间,引入第三方nuget包.今天,我们来讲解下一种全新的构建方式.

环境:

win10

VS2015 企业版

.net 全家桶(.net framework,dnx,.NET core)

Why:

运用.net core+官方这种特殊类库项目,一切都可以用代码编辑完成,不需要做一些对我们来讲非常额外的工作,于是乎,构建变得无比简单.本人强烈建议以后做nuget类库的时候都用这样的方法.

步骤:

环境搭建好后,我们在visual C#里面,新建一个类库(程序包)

关于项目结构,参考参考链接,这里不做赘述.

目前.net core尚不完善,system.web 都没了,于是我们要对默认的项目设置进行调整.

打开project.json.这是项目描述,相当于以前nuget构建期间的xml,在框架节点,删除dotnet5.4

{
    "version": "1.0.0-*",
    "description": "FantasticCommonLibrary.Mvc.Core Class Library",
    "authors": [ "Z" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",
    "frameworks": {
        "net45": {
            "dependencies": {
                "UAParser": "2.1.0"
            },
            "frameworkAssemblies": {
                "System.ComponentModel.DataAnnotations": "4.0.0.0",
                "System.configuration": "4.0.0.0",
                "System.Net.Http": "4.0.0.0",
                "System.Web": "4.0.0.0",
                "System.Web.Extensions": "4.0.0.0"
            }
        },
        "dotnet5.4": {
            "dependencies": {
                "Microsoft.CSharp": "4.0.1-beta-23516",
                "System.Collections": "4.0.11-beta-23516",
                "System.Linq": "4.0.1-beta-23516",
                "System.Runtime": "4.0.21-beta-23516",
                "System.Threading": "4.0.11-beta-23516"
            }
        }
    },
    "dependencies": {
        "FluentValidation": "6.1.0",
        "Microsoft.AspNet.Mvc": "5.2.3",
        "Newtonsoft.Json": "8.0.2"
    }
}

保存以后,就会发现引用下面少了最新的那个框架.由于沿用旧的4.5.1点框架,生成也不再有意外.

然后我们使用.net core的如下命令

cd <.xproj所在的那个目录>
:还原依赖项 dotnet restore :打包 dotnet pack

之后在项目,bin/debug里面会看到2个文件:.nupkg和.symbols.nupkg.第一个文件就是我们想要的nuget包.至此,构建完成

运用.net core配合VS 2015制作nuget包的更多相关文章

  1. 记录使用 Cake 进行构建并制作 nuget 包

    书接上一回(https://www.cnblogs.com/h82258652/p/4898983.html)?[手动狗头] 前段时间折腾了一下,总算是把我自己的图片缓存控件(https://gith ...

  2. .NET Core 学习笔记2——管理nuget包

    .NET Core 基于Nuget包.它是一个.nupkg后缀的zip文件. 工具 dotnet 工具 vs2017 的程序包管理控台 这两个工具都可以用命令行来下载安装,更新,上传包(上传要先在网站 ...

  3. .NET Core中创建和使用NuGet包

    在.NET Core的项目中,如果我们要在项目中引用其它DLL文件,不应该直接在项目引用中添加DLL文件(虽然在.NET Core项目中也可以这么做),建议是去直接下载DLL文件所属的NuGet包.这 ...

  4. 使用NuGet Package Project快速制作NuGet包

    今天在visual studio gallery发现了一个插件NuGet Package Project,通过它可以在Visual Studio中建立Nuget Package工程,直接生成Nuget ...

  5. NET core 添加了新的nuget包,部署出现Could not load file or assembly

    这个坑,今天整了一天,我添加了Microsoft.AspNetCore.Mvc.Versioning包,结果发布到服务器,我复制了dll过去出现了一直找不到加载不成功的问题 Startup.Confi ...

  6. 搭建nuget服务器(二):制作nuget包

    生成nuget包可以使用nuget.exe或者下载nuget package explorer工具 nuget package explorer 下载地址:https://github.com/NuG ...

  7. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

  8. Nuget包制作最佳解决方案

    https://www.cnblogs.com/drea/p/8418717.html 最近研究ABP框架,下载其全套源码,想“据为己有”,这样添加功能或者修改源码的话就非常方便了,否则搭建项目直接用 ...

  9. 解决 .net core 中 nuget 包版本冲突问题

    今天在一个 asp.net core 项目中遇到了 nuget 包版本冲突的问题,错误信息如下: Version conflict detected for Microsoft.AspNet.WebA ...

随机推荐

  1. The Genymotion Virtual device could not obtain an IP address解决办法

    打开Genymotion运行虚拟机提示如下错误: The Genymotion Virtual device could not obtain an IP address.For an unknown ...

  2. Android简单的ListViewDemo及每个控件的点击事件

    ListView是什么? ListView是一个 数据控件,可以展示从数据库中读取的数据.是.net3.5的新控件. 它比gridview更灵活,而且支持多种模板,支持分页. 文章地址 http:// ...

  3. 【代码笔记】iOS-把<br!>换成\n

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ...

  4. 【原】Mac下统计任意文件夹中代码行数的工具——cloc

    这里介绍一个Mac系统统计代码行数的工具cloc. 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码,按 ...

  5. Swift开发第七篇——字面量转换&下标

    本篇分为两部分: 一.Swift 中的字面量转换 二.Swift 中的下标 一.Swift 中的字面量转换 所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出自己的类型并未变量进行 ...

  6. 详解MySQL的用户密码过期功能

    这篇文章主要为大家详细介绍了MySQL的用户密码过期功能的相关资料,需要的朋友可以参考下   Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包. ...

  7. 1、开篇:PMO定义 - PMO项目管理办公室

    PMO,Project Management Office,项目管理办公室,笔者不按照项目管理知识体系指南PMBOK(Project Management Body Of Knowledge)上的定义 ...

  8. Linux老是提示compat-libstdc++ is not installed的原因

    在一Linux服务器上检查是否安装了一些包时,遇到老是提示"package compat-libstdc++ is not installed" [root@DB-Server ~ ...

  9. javascript-简单工厂两种实现方式

    简单工厂笔记 两种方式: 第一种:通过实例化对象创建 第二种:通过创建一个新对象然后包装增强其属性和功能来实现 差异性:前一种通过类创建的 对象,如果这些类继承同一个父类,他们父类原型上的方法是可以共 ...

  10. spring ehcache 页面、对象缓存

    一.Ehcache基本用法 CacheManager cacheManager = CacheManager.create(); // 或者 cacheManager = CacheManager.g ...