使用 .NET Core 封裝 NuGet 套件並輸出靜態檔案

栏目: ASP.NET · 发布时间: 6年前

内容简介:自從 .NET CLI 內建了建立 NuGet 套件的功能後,要將自己寫好的類別庫專案打包成 NuGet 套件就變得非常容易,首先要注意一件事情,如果你是使用一般來說,在用 .NET Framework 來建立 NuGet 套件時,常會用

自從 .NET CLI 內建了建立 NuGet 套件的功能後,要將自己寫好的類別庫專案打包成 NuGet 套件就變得非常容易, 快速入門請看這裡 ,如果今天想要在安裝你用 .NET Core 寫好的 NuGet 套件時,除了加入寫好的類別庫參考外,還要輸出靜態檔案到專案中,可以參考這篇教學。

首先要注意一件事情,如果你是使用 packages.config 來建立 NuGet 套件了話,要輸出的靜態檔案是要放在套件中的 content 資料夾,如果是用 PackageReference 的方式來處理,也就是寫在 .csproj 專案的中了話,則是要將靜態檔案放在 contentFiles 資料夾中。

一般來說,在用 .NET Framework 來建立 NuGet 套件時,常會用 packages.config 來做設定,若是使用 .NET Core 建立 NuGet 套件時,官方教學則是採用 PackageReference 的作法,這時就要注意兩種情境下,靜態檔案要放的位置並不一樣。

NuGet 3.3 之後才開始支援使用 contentFiles 來管理套件中的靜態檔案或 .pp 檔。

知道 NuGet 會從套件中哪個資料夾來複製檔案到專案資料夾後,當你真的實作時你會發現…完全沒有動作!

若要用 .NET Core 來封裝 NuGet 套件並且提供靜態檔案了話,要使用下面這樣的設定:

<ItemGroup>
    <None Include="YOUR_STATIC_FILE.txt">
        <Pack>true</Pack>
        <PackageCopyToOutput>true</PackageCopyToOutput>
        <PackagePath>contentFiles\any\any\</PackagePath>
    </None>
</ItemGroup>

重點在 PackagePath 中所設定的輸出位置,上面的範例使用 contentFiles\any\any\ 這代表 contentFiles\<language>\<target_framework> ,表示此套件只會安裝在指定語言、平台的專案中,如果你的套件適用於各種語言和平台,就參考範例的設定方式都用 any 就好了。

此外, PackagePath 是可以設定多個目標路徑的,多個目標路徑時,只要用分號分隔即可,因此建議你可以把舊的 NuGet 套件輸出靜態檔案的用法也加上去,就是變成 <PackagePath>contentFiles\any\any\;content\any\any</PackagePath> 這樣。

如果你要明確設定,可以參考下列選項:

  • Language: vbcsfs 分別代表 Visual Basic、C#、F# 三種語言
  • Target Framework: netcoreapp2.1net471 等(詳請參考 官方文件 所列的 TFM)

參考資料:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

并行算法的设计与分析

并行算法的设计与分析

陈国良 / 2009-8 / 66.00元

第3版在修订版的基础上进行了大幅度的修订,新增加3章、重写3章,改写8章。《普通高等教育十一五国家级规划教材·并行算法的设计与分析(第3版)》系统深入地讨论了计算机领域中诸多计算问题的并行算法的设计和分析方法。在着重介绍各种并行计算模型上的常用和典型的并行算法的同时,也力图反映本学科的最新成就、学科前沿和发展趋势。 全书共分二十章,包括基础篇4章(绪论、设计技术、前缀计算、排序和选择网络),......一起来看看 《并行算法的设计与分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具