• 【ASP.NET】利用Nuget打包package——命令行方式


    通过命令行

    官方说明,可以参考:creating-and-publishing-a-package
    如果你希望可以使用图形界面的方式,请参考这篇文章
     
    打包dll
     
    使用如下的命令:
    nuget spec MyAssembly.dll
    会生成MyAssessmbly.nuspec文件,与GUI方式中选择Edit Metadata生成的xml文件一致。
     
    打开*.nuspec文件,可以看到结构如下的文件
    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>StoShared.NHibernate.dll</id>
        <version>1.0.0</version>
        <authors>rentu</authors>
        <owners>rentu</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>Package description</description>
        <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
        <copyright>Copyright 2016</copyright>
        <tags>Tag1 Tag2</tags>
        <dependencies>
          <dependency id="SampleDependency" version="1.0" />
        </dependencies>
      </metadata>
    </package>


    根据需要,修改相应的配置属性,修改完成后,使用下面的命令进行打包
    nuget pack MyAssembly.nuspec
    注意,dll需要放到lib文件夹下,才会在install package后被自动添加引用。在lib文件夹下建立类似net40文件夹,可以保证package在.net 4.0上运行。
     
     
    打包项目
    在项目的根文件夹下(包含csproj的文件夹下,使用如下的命令)
    nuget spec
     
    会生成*.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>


    其中的一些通配符,会在我们打包的时候,根据项目的配置文件自动替换,替换规则如下表所示。
     
    Token Source
    $id$ The Assembly name
    $version$ The assembly version as specified in the assembly’sAssemblyVersionAttribute (orAssemblyInformationalVersionAttribute if present).
    $author$ The company as specified in the AssemblyCompanyAttribute.
    $description$ The description as specified in the AssemblyDescriptionAttribute.
     
    默认情况下,打包package只会包含编译生成的dll文件和lib文件夹下的文件,可以通过下面的配置添加其他需要的文件。
     
    <files> <filesrc="....SomeRoot***.*" target=""/> </files>


     
    编辑好后,通过下面的命令进行打包
    nuget pack MyProject.csproj
     
    可以有以下的参数:
    nuget pack A.csproj -IncludeReferencedProjects  打包时包含引用的项目
    nuget pack MyProject.csproj -Prop Configuration=Release 打包release的dll
     最新博客地址:http://blog.turenlong.com/
  • 相关阅读:
    Java入门3.2---线程池
    Java入门3.1---多线程
    打开ppt报"powerpoint无法加载mathtype加载项"错误
    LATEX排版总结
    casbin 权限系统
    Go netpoll I/O 多路复用构建原生网络模型之源码深度解析
    使用winsw包装服务将nginx包装为Windows服务
    Node.js 的模块系统
    一文读懂 babel7 的配置文件加载逻辑
    vue-cli是什么?和 webpack是什么关系?
  • 原文地址:https://www.cnblogs.com/reachteam/p/5768676.html
Copyright © 2020-2023  润新知