• 2019-11-29-VisualStudio-使用新项目格式快速打出-Nuget-包


    title author date CreateTime categories
    VisualStudio 使用新项目格式快速打出 Nuget 包
    lindexi
    2019-11-29 10:15:25 +0800
    2018-10-15 09:13:31 +0800
    VisualStudio

    本文告诉大家如何通过 VisualStudio 的新项目格式快速打出 Nuget 包

    在对比之前使用 nuspc 文件创建 Nuget 包的方法,就会发现本文提供的使用 VisualStudio 新项目格式打出 Nuget 包的效率是很高的。从零开始打包 Nuget 只需要不到 3 分钟,其中有 2.9 分钟都是在等待 VisualStduio 卡

    先来回顾一下之前是如何制作一个 Nuget 包的,首先通过 Nuget 创建一个空白的 nuspec 文件

    nuget.exe spec

    然后打开这个 nuspec 文件,添加自己需要的内容,需要包括 Nuget 的 id 和 作者、描述这些,请看代码

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>包的 id 保证上传到的服务器只有一个 id 是自己创建的</id>
        <version>版本号</version>
        <authors>作者</authors>
        <owners>这个包是谁写的,也就是和作者一样</owners>
    
        <description>描述</description>
      </metadata>
    </package>

    还需要自己添加需要打包的文件,或者通过 nuget 的命令自动编译打包,看起来很麻烦

    下面就是我写出来的制作一个 lindexi 的包

    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
      <metadata>
        <id>lindexi</id>
        <version>1.0.0</version>
        <authors>lindexi</authors>
        <owners>lindexi</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>欢迎访问我博客 https://lindexi.gitee.io/ 里面有很多 UWP WPF 博客</description>
        <dependencies>
          <group targetFramework=".NETCoreApp2.1">
            <dependency id="Microsoft.NETCore.App" version="2.1.0" exclude="Build,Analyzers" />
          </group>
        </dependencies>
      </metadata>
    </package>

    另外我还需要添加一些文件

    具体打包请看 win10 uwp 如何打包Nuget给其他人

    而使用 VisualStudio 新项目格式打出 Nuget 包的方法很简单,首先是创建一个 dotnet core 项目,使用这个项目演示

    右击解决方案,打包,然后打开项目的binDebug文件夹,就可以看到打出来 nuget 包

    当然这个粗糙的包还可以做一些修改,例如修改这个包的 id 在 新的项目格式会使用 AssemblyName 作为默认的包的 id 来尝试修改这个值看打出来的包是什么

    我修改为 lindexi 请看代码

      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.1</TargetFramework>
        <AssemblyName>lindexi</AssemblyName>
      </PropertyGroup>

    这时右击项目打包就会在 binDebug 文件夹找到 lindexi.1.0.0.nupkg 文件

    如果想要自己定义一个 nuget 包的 id 和 AssemblyName 不相同,可以通过修改 PackageId 的方式,具体请看项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - walterlv

    这时还可以右击项目属性,通过 VisualStudio 修改属性,如我修改了描述

    那么如何验证打出来的包是可以使用的?做法很简单,就是使用 Nuget 安装本地的包的方式

    右击项目管理 Nuget 包

    点击设置

    点击添加一个本地的包,修改输出包的文件夹

    切换本地包

    点击浏览

    点击刚才创建的包

    这时就可以看到刚才快速创建的包

    项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - walterlv

    课件

    Create and publish a .NET Standard package using Visual Studio on Windows

  • 相关阅读:
    Lodop客户端本地角色注册号常见误区
    Spring中加载xml配置文件的六种方式
    源程序出现各种奇怪的符号P
    MyEclipse项目中的java文件的图标变成空心的问题
    servlet中的相对路径和绝对路径 及/, ./, ../的区别
    Thread 与 Runnable
    Class.forName()用法详解
    chain.doFilter(request,response)含义
    jsp简单标签开发(一)
    createStatement()的用法
  • 原文地址:https://www.cnblogs.com/lindexi/p/12085405.html
Copyright © 2020-2023  润新知