NuGetパッケージの開発と公開
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
* 目次 [#mdf74180]
#contents
*概要 [#i9733684]
-NuGetパッケージを作成してみたくなったので調査。
**Nugetでできること。 [#a040b4d4]
-[[.NET Framework アセンブリへの参照の追加>#ec2eb9f8]]
-[[他のNugetパッケージへの依存関係の追加>#kd3ca09a]]
***追加できるファイル [#j7523ddd]
-[[アセンブリの参照の追加(*.dll)>#h5442e78]]
-コンテンツ・ファイルの追加(*.js, *.cssなどのライブラリ)
-[[テンプレートの拡張>ASP.NET Identity#gffbd798]](プロジ...
***パッケージの色々 [#gec7b7db]
-[[Localized Package(ローカライズ)>#m0794562]]
-Pre-release Package(β版)
-[[Symbol Package(デバッグ用)>#ie773165]]
***その他 [#veb6fd74]
-複数のTarget Frameworksのサポート
-appSettingsなど、*.configの編集
**.NET Frameworkプロジェクト以外 [#u426c81c]
***[[.NET Standard]]、[[.NET Core]] [#ue1467f7]
-[[.NET Standard]]、[[.NET Core]]も、.NET Frameworkと同じ。
-ただし、[[Dependencies>#s01937f7]]の記載方法に注意が必要。
***Native Package(C++) [#z93db893]
C++の、Native Packageも作成できる模様。
-Qiita
--Visual Studio 2015 CommunityでOpenCVを使う (C++)~
https://qiita.com/konta220/items/f23f50decbae1133d198
--C++プロジェクトでNuGetを使ってみようよ!
---Vol. 1:パッケージ導入編~
https://qiita.com/nia_tn1012/items/77c3c1b006f7c69d30ac
---Vol. 2:パッケージ作成編~
https://qiita.com/nia_tn1012/items/0815e1f493ac49d20d41
-microsoft.com
--NuGet for C++ | Visual C++ Team Blog~
https://blogs.msdn.microsoft.com/vcblog/2013/04/26/nuget-...
--ネイティブ NuGet パッケージを作成する | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/create-packages/na...
*基本的な手順 [#e7f7484f]
-NuGet Gallery | Home~
https://www.nuget.org/
**Nugetのサイトにサインイン [#a55f9b01]
-NuGet Gallery | Home~
https://www.nuget.org/
-Microsoftアカウントでサインアップ可能。
--連携するのはメールアドレスで、同時にユーザ名の入力が必...
--サインアップ後、サインインが可能になる。
--ローカル・ログオン用のパスワードはアカウント編集画面か...
-以下はサインアップ・サインイン後のアカウント編集画面~
--NuGet Gallery | Edit Profile~
https://www.nuget.org/account
**NugetのサイトからNuget.exeを取得 [#l2fefcbe]
-NuGet Gallery | Downloads~
https://www.nuget.org/downloads
>に遷移。
-Windows x86 Commandline~
nuget.exe - recommended latest vn.n.n
>をクリックして、nuget.exeをDownload。
**nuspecファイルの生成 [#jb00308a]
***nuspecファイルとは? [#v00b525f]
-パッケージのメタデータを含むXML形式のマニフェスト(公約...
-マニフェスト(公約文書)は常にパッケージに含まれる。
-パッケージを構築し、消費者に情報を提供するために使用され...
***nuspecファイルの出力準備 [#b8676227]
-nuget.exeへのパスを通しておくか、~
プロジェクトファイル(*.csproj)のあるフォルダにnuget.exe...
-AssemblyInfoの属性値を使用するので、これに属性を記入して...
--規定値
[assembly: AssemblyTitle("Public")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("xxxxxxxxxx")]
[assembly: AssemblyProduct("Public")]
[assembly: AssemblyCopyright("Copyright (C) 2007,2016 xx...
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
--以下を追加(ただ、実際にやっている人は少なそう)
[assembly : AssemblyMetadata("ProjectUrl", "http・・・")]
[assembly : AssemblyMetadata("LicenseUrl", "http・・・")]
***nuget.exeからnuspecファイルを出力 [#x6cccfb1]
-プロジェクトファイル(*.csproj)から生成する。
--プロジェクトファイル(*.csproj)のあるフォルダで[nuget ...
nuget spec
--*.nuspecファイルが生成される(何故か、AssemblyInfoの属...
<?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_L...
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_L...
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</i...
<requireLicenseAcceptance>false</requireLicenseAccep...
<description>$description$</description>
<releaseNotes>Summary of changes made in this releas...
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
</package>
-DLLファイル(*.dll)から生成する。
--DLLファイル(*.dll)を指定して[nuget spec]コマンドを実...
nuget spec [*.dllファイルパス]
--*.nuspecファイルが生成される(こちらも、AssemblyInfoの...
<?xml version="1.0"?>
<package >
<metadata>
<id>Public.dll</id>
<version>1.0.0</version>
<authors>(Windowsにログインしたユーザ名)</authors>
<owners>(Windowsにログインしたユーザ名)</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_L...
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_L...
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</i...
<requireLicenseAcceptance>false</requireLicenseAccep...
<description>Package description</description>
<releaseNotes>Summary of changes made in this releas...
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
<dependencies>
<dependency id="SampleDependency" version="1.0" />
</dependencies>
</metadata>
</package>
**nuspecファイルの編集 [#ee2e5317]
-生成されたnuspecファイルを修正する。
-それぞれの項目については[[下記>#n3a85383]]を参照。
以下、ザックリとした説明。
***id [#j434d1ce]
例 : Oracle.DataAccess(.dll)とか、Microsoft.AspNet.Identi...
-一意
-名前空間っぽくする。
-社名などを使うと良い。
-サンプルのパッケージは、*.Sampleを足す。
***title [#xc6afe09]
-[[id>#j434d1ce]]とは別の名称、呼称など。
-例えば、Newtonsoft.Jsonに対するJson.NETなど。~
https://www.nuget.org/packages/Newtonsoft.Json/
***description [#rbe8e1a7]
パッケージのザックリとした説明。
***authors、owners [#g9c24808]
-owners~
開発した個人。
-authors~
著作権を持つ個人・団体。
-参考
--Owner or Author ? What’s the Difference?~
http://kelleykeller.com/owner-vs-author-whats-the-differe...
***projectUrl、licenseUrl、iconUrl [#qe2df163]
各種URLを設定する。
-projectUrl
-licenseUrl
-iconUrl
***version [#r8c14f07]
-依存関係を解決する際に使用されるパッケージバージョン。
-パッケージを単一のアセンブリに限定するためのもの。
-基本的には、以下の3つを使用して~
「n.n.n」(Major.Minor.Patch)と構成する。
--メジャーバージョン
--マイナーバージョン
--下位互換性のあるバグ修正
-注 :
--アセンブリバージョンではなく、パッケージバージョン
--故に、アセンブリバージョンと一致させる必要はない。
-参考
--[[プレリリース版のNuGetパッケージ>#o3f3febe]]
--安藤幸央のランダウン(51):意外と知らないバージョン表...
http://www.atmarkit.co.jp/ait/articles/1003/26/news106.html
***.NET Framework アセンブリへの参照の追加 [#ec2eb9f8]
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Web" />
</frameworkAssemblies>
***他のNugetパッケージへの依存関係の追加 [#kd3ca09a]
<dependencies>
<dependency id="jQuery" />
</dependencies>
バージョンを指定可能。範囲指定も可能。
-Dependency Versions in NuGet | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/create-packages/de...
***アセンブリの追加(*.dll) [#h5442e78]
[[target>https://docs.microsoft.com/ja-jp/dotnet/standard...
<files>
<file src="bin\Release\*.*" target="lib\net45" />
</files>
***参考 [#ufd9e6b0]
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2...
<metadata>
<!-- The identifier that must be unique within the h...
<!-- ホスティングギャラリー内で一意でなければならな...
<id>Contoso.Utility.UsefulStuff</id>
<!-- The package version number that is used when re...
<!-- 依存関係を解決するときに使用されるパッケージの...
<version>1.8.3.331</version>
<!-- Authors contain text that appears directly on t...
<!-- Authorsには、ギャラリーに直接表示されるテキスト...
<authors>Dejana Tesic, Rajeev Dey</authors>
<!-- Owners are typically nuget.org identities that ...
<!-- ownersは通常、ギャラリーのユーザーが同じownerに...
<owners>dejanatc, rjdey</owners>
<!-- License and project URLs provide links for the ...
<!-- licenseUrlとprojectUrlはギャラリーにリンクを提...
<licenseUrl>http://opensource.org/licenses/MS-PL</li...
<projectUrl>http://github.com/contoso/UsefulStuff</p...
<!-- The icon is used in Visual Studio's package man...
<!-- このアイコンは、Visual Studioのパッケージ・マネ...
<iconUrl>http://github.com/contoso/UsefulStuff/nuget...
<!-- If true, this value prompts the user to accept ...
<!-- trueの場合、この値は、パッケージのインストール...
<requireLicenseAcceptance>false</requireLicenseAccep...
<!-- Any details about this particular release -->
<!-- このリリースに関する詳細 -->
<releaseNotes>Bug fixes and performance improvements...
<!-- The description can be used in package manager ...
<!-- descriptionは、パッケージ・マネージャのUIで使用...
<description>Core utility functions for web applicat...
<!-- Copyright information -->
<!-- 著作権情報 -->
<copyright>Copyright ©2016 Contoso Corporation</copy...
<!-- Tags appear in the gallery and can be used for ...
<!-- tagsはギャラリーに表示され、tag検索に使用できま...
<tags>web utility http json url parsing</tags>
<!-- Dependencies are automatically installed when t...
<!-- dependencyは、パッケージのインストール時に自動...
<dependencies>
<dependency id="Newtonsoft.Json" version="9.0" />
</dependencies>
</metadata>
<!-- A readme.txt will be displayed when the package i...
<!-- パッケージのインストール時に readme.txt が表示さ...
<files>
<file src="readme.txt" target="" />
</files>
</package>
**パッケージ(nupkgファイル)の作成 [#i825791f]
***プロジェクト・ファイルを使用 [#e712e2b9]
-以下のコマンドでパッケージを作成する。
nuget pack [*.csprojファイルパス]
-カレントでやれば、*.csprojファイルのパス指定は不要。
nuget pack
-リリースビルを選択する場合、
nuget pack -Prop Configuration=Release
***nuspecファイルを使用 [#g07875e2]
-「[[高度な設定>#v9ecded0]]」を行う場合はnuspecファイルを...
nuget pack [*.nuspecファイルパス]
***nupkgファイルの内容確認方法 [#p66307ac]
-「*.nupkg、*.symbols.nupkg」は ZIP ファイルなので、~
拡張子を「*.zip」にすれば、解凍して実際に含まれる ファイ...
-同梱されているアセンブリの詳細については、~
「[[.NETアセンブリのtargetFrameworkを確認する方法]]」~
に記述されている方法で確認できる。
**NuGet への登録 [#q8d1dbf1]
***コマンドラインから [#a892ebc9]
-Access Keyを取得する。
Accountページに遷移してAPI Keysを取得する。
--NuGet Gallery | Edit Profile~
https://www.nuget.org/account
--E-Mail Confirmationが必要。
-以下のコマンドでNuGet へ登録する。
--方法1(urlのv1は、バージョン指定?)
nuget push -source http://packages.nuget.org/v1/ [*.nupk...
--方法2(URLは不要?)
nuget setapikey [access key]
nuget push [*.nupkgファイルパス]
***Webサイトから [#oafcb7ca]
NuGet Gallery でアップロードする場合、API Keysは不要。
-NuGet Gallery | Upload Package~
https://www.nuget.org/packages/manage/upload
***公開前に(ローカルで)テスト実行する。 [#f976e345]
-以下が参考になる。
--[[NuGetプライベート・リポジトリ]]
-ざっくり、
--Nugetパッケージ・マネージャーの設定で、~
パッケージ ソース(ローカルPCのフォルダ)を追加する。
--ソリューションのNugetパッケージの管理を開き、~
追加したパッケージ ソースを選択して「参照」の検索窓から検...
#ref(Nuget.png,left,nowrap,50%,ソリューションのNugetパッ...
--検索されたNugetパッケージを選択してインストールする。
--packagesフォルダには以下のようにインストールされる。
Touryo.Public.2.0.0
├ lib
| └ net46
| ├ Public.dll
| └ Public.XML
└ Touryo.Public.2.0.0.nupkg
--なお、依存関係も自動的に反映されるようで、~
このプロジェクトのpackages.configで使用しているパッケージ...
**バージョンアップする。 [#m026269b]
nuspec ファイルの version を書き換えて同じように nupkg を...
*高度な設定 [#v9ecded0]
**パッケージにファイルを含める [#h7f974d4]
***パッケージに含めるファイル [#z01ea2e5]
-ターゲットプロジェクトに挿入するコンテンツとソースコード
-PowerShellスクリプト(インストールスクリプト、NuGet 2.x...
-プロジェクト内の既存の構成ファイルおよびソースコードファ...
***作業ディレクトリのフォルダ構造レイアウトの規則 [#ee27a...
|#|フォルダ|説明|パッケージのインストール時の動作|h
|1|tools|Package Manager Consoleパッケージ・マネージャコ...
|2|lib|アセンブリファイル(.dll)、ドキュメント(.xml)フ...
|3|content|任意のファイル|コンテンツはプロジェクトルート...
|4|build|MSBuild .targetsと.propsファイル|プロジェクトフ...
***パッケージへのインクルード [#ufc7e259]
nuspecファイルの<metadata>要素と同じ階層に、~
<files>か<contentFiles>要素を追加することで、ファイル...
-[[アセンブリ・ファイル>https://docs.microsoft.com/ja-jp/...
--ファイルは*.nupkgファイルを作成するときに自動的にインク...
--<files>要素を使用し、自動動作を回避、インクルード・ファ...
-[[コンテンツ・ファイル>https://docs.microsoft.com/ja-jp/...
--contentFiles要素を使用する。
**複数のTarget Frameworksのサポート [#b3135d75]
https://docs.microsoft.com/ja-jp/nuget/create-packages/su...
「[[パッケージにファイルを含める>#h7f974d4]]」の方法で、...
***設定 [#vc3794df]
以下は、nuspecファイルの設定例
<files>
<file src="bin\Release\net46\MyAssembly.dll" target="...
<file src="bin\Release\net461\MyAssembly.dll" target=...
<file src="bin\Release\uap\MyAssembly.dll" target="li...
<file src="bin\Release\netcore\MyAssembly.dll" target...
</files>
***結果 [#c7bee26c]
パッケージのインストール後のpackagesフォルダのlibフォルダ...
-lib\{framework name}[{version}]
-例:
\lib
\net46
\MyAssembly.dll
\net461
\MyAssembly.dll
\uap
\MyAssembly.dll
\netcore
\MyAssembly.dll
***参考 [#d5d16531]
Dapperのnuspecファイルが参考になる。
-dapper-dot-net/dapper.nuspec at master · perliedman/dapp...
https://github.com/perliedman/dapper-dot-net/blob/master/...
<files>
<file src="Dapper NET45\bin\Release\Dapper.dll" targe...
<file src="Dapper NET45\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET45\bin\Release\Dapper.xml" targe...
<file src="Dapper NET40\bin\Release\Dapper.dll" targe...
<file src="Dapper NET40\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET40\bin\Release\Dapper.xml" targe...
<file src="Dapper NET35\bin\Release\Dapper.dll" targe...
<file src="Dapper NET35\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET35\bin\Release\Dapper.xml" targe...
</files>
***[[.NET Standard]]、[[.NET Core]]のDependencies [#s0193...
dependencies > group > targetFramework="netstandard2.0" ...
<dependencies>
<group>
<dependency id="DotNetZip" version="1.12.0" />
<dependency id="log4net" version="2.0.8" />
<dependency id="Newtonsoft.Json" version="11.0.2"...
</group>
<group targetFramework="netstandard2.0">
<dependency id="log4net" version="2.0.8" />
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Newtonsoft.Json" version="11.0.2"...
<dependency id="System.Data.Odbc" version="4.5.0"...
<dependency id="System.Data.SqlClient" version="4...
</group>
</dependencies>
**様々なパッケージ [#mcfbe29c]
***Localized Package(ローカライズ) [#m0794562]
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
以下の2つの方法がある。
-Localized resource assembly(Localized satellite assembl...
--ワイルドカードを使用する方法。
--xxxx.resources.dllを個別に同梱することもできる。
-個別にLocalized satellite packagesを作成する。~
(Microsoft.Owin.ja や Microsoft.AspNet.Mvc.ja 的な)
***[[Symbol Package(デバッグ用)>NuGetパッケージのデバッ...
***[[NuGetパッケージのプレリリース版]] [#o3f3febe]
***package type [#g888561e]
NuGet 3.5以降で設定可能。
-Dependency(既定値)~
上記の説明はコレ。
-DotnetCliTool~
.NET Coreプロジェクトにのみインストールできる.NET Core CL...
-カスタムタイプパッケージ~
DependencyとDotnetCliTool以外のタイプは、~
Visual StudioのNuGet Package Managerによって認識されない。
*注意 [#x579d11b]
**一度登録すると通常消せない。 [#g6945e13]
-バージョン番号を上げてアップロードすることでアップデート...
-必要に応じて、
--旧バージョンを非表示にすることはできる。
--別途、運営に連絡して削除することもできる。
**依存関係 [#u9a8011d]
***Dependenciesタグ [#sf97bdb3]
NuGetサイトに表示されるのは、*.nspecファイルのDependencie...
***自動的に追加されるNuGetパッケージ [#x04c4821]
しかし、NuGetから追加された時には、
-package.configによるのか、
-バイナリ解析によるのか、
不明だが自動的に依存関係にあるNuGetパッケージが追加される。
**[[Symbolの作成・登録と公開方法の変更>NuGetパッケージの...
*参考 [#y156cbe0]
-プロジェクトをNugetパッケージにして公開する - Qiita~
http://qiita.com/icoxfog417/items/71718196cc4f335892d4
-NuGet パッケージを作成して公開する | Do Design Space~
https://sakapon.wordpress.com/2013/07/16/nugetpackage/
-NuGet パッケージを作って公開する - しばやん雑記~
http://blog.shibayan.jp/entry/20110306/1299422776
-Nugetギャラリーにライブラリを登録するまでの手順 - Source...
http://sourcechord.hatenablog.com/entry/2016/02/19/201502
-NuGet - パッケージを作成して NuGet で公開する~
https://msdn.microsoft.com/ja-jp/magazine/hh708753.aspx
**Microsoft Docs [#r90c5f27]
-Create Packages > Overview and workflow of creating NuG...
https://docs.microsoft.com/ja-jp/nuget/create-packages/ov...
--How to create a NuGet package~
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
--Dependency Versions in NuGet~
https://docs.microsoft.com/ja-jp/nuget/create-packages/de...
--Supporting Multiple Target Frameworks~
https://docs.microsoft.com/ja-jp/nuget/create-packages/su...
--Creating Localized Packages~
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
--Symbol Packages~
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
--Publish a Package~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pu...
-NuGet.org 上の組織~
https://docs.microsoft.com/ja-jp/nuget/nuget-org/organiza...
>※ Organizations on NuGet.org | The NuGet Blog~
https://devblogs.microsoft.com/nuget/organizations-on-...
**nuspecファイルの定義例 [#h83986d2]
***著名なパッケージを参考にする。 [#i7310626]
-Newtonsoft.Json(Json.NET)~
https://github.com/JamesNK/Newtonsoft.Json/blob/master/Bu...
-Dapper~
https://github.com/perliedman/dapper-dot-net/blob/master/...
***Open棟梁のパッケージを参考にする。 [#ad8e8930]
-/OpenTouryoProject/OpenTouryo/~
https://github.com/OpenTouryoProject/OpenTouryo/tree/deve...
**nuspecファイルのメタデータ要素 [#n3a85383]
-.nuspec File Reference for NuGet | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/schema/nuspec
--NuGet.Client/nuspec.xsd at dev · NuGet/NuGet.Client~
https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet....
>このnuspec.xsdをVisual Studioで確認するとSchemeの詳細が...
***必要なメタデータ要素(最小要件) [#t3a22c04]
|#|要素|説明|h
|1|id|大文字と小文字を区別しない、nuget.orgなどのパッケー...
|2|version|major.minor.patchパターンのパッケージのバージ...
|3|description|nuget.orgでパッケージのページを表示したと...
|4|authors|パッケージ著者のカンマ区切りのリスト。|
***オプションのメタデータ要素(必要に応じて追加) [#y3cb2...
-単項目
|#|要素名|説明|h
|1|title|パッケージには、一般的にはUIで使用される、パッケ...
|2|owners|nuget.orgでプロファイル名を使用しているパッケー...
|3|projectUrl|パッケージのホームページのURL。&br;多くの場...
|4|licenseUrl|パッケージのライセンスのURL。&br;nuget.org...
|5|iconUrl|UI表示でパッケージのアイコンとして使用する透過...
|6|requireLicenseAcceptance|パッケージをインストールする...
|7|developmentDependency|(2.8+)パッケージが開発専用依存...
|8|summary|Visual Studioから検索して表示される一覧表示用...
|9|releaseNotes|(1.5+)このパッケージのリリースで行われ...
|10|copyright|(1.5+)パッケージの著作権詳細。|
|11|language|パッケージのロケールID。&br;ローカライズされ...
|12|tags|パッケージを記述するタグとキーワードのスペース区...
|13|serviceable|(3.3+)内部NuGet専用|
|14|minClientVersion|(2.5+)このパッケージをインストール...
-複数項目
|#|要素名|説明|h
|1|packageTypes|(3.3+)伝統的な依存パッケージ以外のパッ...
|2|dependencies|パッケージの依存関係を指定する0個以上の<d...
|3|frameworkAssemblies|(1.2+)このパッケージに必要な.NET...
|4|references|(1.5+)プロジェクトの参照として追加される...
|5|contentFiles|(3.3+)コンシューマプロジェクトに含める...
**NuGetパッケージ関連 [#ge82720f]
***[[NuGetプライベート・リポジトリ]] [#t6e5d70f]
***[[NuGetパッケージのデバッグ]] [#w62300b5]
***[[NuGetパッケージのプレリリース版]] [#u646f6d5]
**Open 棟梁 Wiki [#x2bb67ef]
***[[NuGet導入、NuGet登録>https://opentouryo.osscons.jp/i...
***[[Open棟梁のバージョン番号付与ポリシー>https://opentou...
**OssCons...TestClassLibrary1 [#h99e4e03]
OSSコンソーシアム 開発基盤部で登録したテスト用ライブラリ
-SampleProgram/NuGet at master · OpenTouryoProject/Sample...
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
-NuGet Gallery | OssCons.DotNetSubcommittee.TestClassLibr...
https://www.nuget.org/packages/OssCons.DotNetSubcommittee...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:NuGet]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
* 目次 [#mdf74180]
#contents
*概要 [#i9733684]
-NuGetパッケージを作成してみたくなったので調査。
**Nugetでできること。 [#a040b4d4]
-[[.NET Framework アセンブリへの参照の追加>#ec2eb9f8]]
-[[他のNugetパッケージへの依存関係の追加>#kd3ca09a]]
***追加できるファイル [#j7523ddd]
-[[アセンブリの参照の追加(*.dll)>#h5442e78]]
-コンテンツ・ファイルの追加(*.js, *.cssなどのライブラリ)
-[[テンプレートの拡張>ASP.NET Identity#gffbd798]](プロジ...
***パッケージの色々 [#gec7b7db]
-[[Localized Package(ローカライズ)>#m0794562]]
-Pre-release Package(β版)
-[[Symbol Package(デバッグ用)>#ie773165]]
***その他 [#veb6fd74]
-複数のTarget Frameworksのサポート
-appSettingsなど、*.configの編集
**.NET Frameworkプロジェクト以外 [#u426c81c]
***[[.NET Standard]]、[[.NET Core]] [#ue1467f7]
-[[.NET Standard]]、[[.NET Core]]も、.NET Frameworkと同じ。
-ただし、[[Dependencies>#s01937f7]]の記載方法に注意が必要。
***Native Package(C++) [#z93db893]
C++の、Native Packageも作成できる模様。
-Qiita
--Visual Studio 2015 CommunityでOpenCVを使う (C++)~
https://qiita.com/konta220/items/f23f50decbae1133d198
--C++プロジェクトでNuGetを使ってみようよ!
---Vol. 1:パッケージ導入編~
https://qiita.com/nia_tn1012/items/77c3c1b006f7c69d30ac
---Vol. 2:パッケージ作成編~
https://qiita.com/nia_tn1012/items/0815e1f493ac49d20d41
-microsoft.com
--NuGet for C++ | Visual C++ Team Blog~
https://blogs.msdn.microsoft.com/vcblog/2013/04/26/nuget-...
--ネイティブ NuGet パッケージを作成する | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/create-packages/na...
*基本的な手順 [#e7f7484f]
-NuGet Gallery | Home~
https://www.nuget.org/
**Nugetのサイトにサインイン [#a55f9b01]
-NuGet Gallery | Home~
https://www.nuget.org/
-Microsoftアカウントでサインアップ可能。
--連携するのはメールアドレスで、同時にユーザ名の入力が必...
--サインアップ後、サインインが可能になる。
--ローカル・ログオン用のパスワードはアカウント編集画面か...
-以下はサインアップ・サインイン後のアカウント編集画面~
--NuGet Gallery | Edit Profile~
https://www.nuget.org/account
**NugetのサイトからNuget.exeを取得 [#l2fefcbe]
-NuGet Gallery | Downloads~
https://www.nuget.org/downloads
>に遷移。
-Windows x86 Commandline~
nuget.exe - recommended latest vn.n.n
>をクリックして、nuget.exeをDownload。
**nuspecファイルの生成 [#jb00308a]
***nuspecファイルとは? [#v00b525f]
-パッケージのメタデータを含むXML形式のマニフェスト(公約...
-マニフェスト(公約文書)は常にパッケージに含まれる。
-パッケージを構築し、消費者に情報を提供するために使用され...
***nuspecファイルの出力準備 [#b8676227]
-nuget.exeへのパスを通しておくか、~
プロジェクトファイル(*.csproj)のあるフォルダにnuget.exe...
-AssemblyInfoの属性値を使用するので、これに属性を記入して...
--規定値
[assembly: AssemblyTitle("Public")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("xxxxxxxxxx")]
[assembly: AssemblyProduct("Public")]
[assembly: AssemblyCopyright("Copyright (C) 2007,2016 xx...
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
--以下を追加(ただ、実際にやっている人は少なそう)
[assembly : AssemblyMetadata("ProjectUrl", "http・・・")]
[assembly : AssemblyMetadata("LicenseUrl", "http・・・")]
***nuget.exeからnuspecファイルを出力 [#x6cccfb1]
-プロジェクトファイル(*.csproj)から生成する。
--プロジェクトファイル(*.csproj)のあるフォルダで[nuget ...
nuget spec
--*.nuspecファイルが生成される(何故か、AssemblyInfoの属...
<?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_L...
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_L...
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</i...
<requireLicenseAcceptance>false</requireLicenseAccep...
<description>$description$</description>
<releaseNotes>Summary of changes made in this releas...
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
</package>
-DLLファイル(*.dll)から生成する。
--DLLファイル(*.dll)を指定して[nuget spec]コマンドを実...
nuget spec [*.dllファイルパス]
--*.nuspecファイルが生成される(こちらも、AssemblyInfoの...
<?xml version="1.0"?>
<package >
<metadata>
<id>Public.dll</id>
<version>1.0.0</version>
<authors>(Windowsにログインしたユーザ名)</authors>
<owners>(Windowsにログインしたユーザ名)</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_L...
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_L...
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</i...
<requireLicenseAcceptance>false</requireLicenseAccep...
<description>Package description</description>
<releaseNotes>Summary of changes made in this releas...
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
<dependencies>
<dependency id="SampleDependency" version="1.0" />
</dependencies>
</metadata>
</package>
**nuspecファイルの編集 [#ee2e5317]
-生成されたnuspecファイルを修正する。
-それぞれの項目については[[下記>#n3a85383]]を参照。
以下、ザックリとした説明。
***id [#j434d1ce]
例 : Oracle.DataAccess(.dll)とか、Microsoft.AspNet.Identi...
-一意
-名前空間っぽくする。
-社名などを使うと良い。
-サンプルのパッケージは、*.Sampleを足す。
***title [#xc6afe09]
-[[id>#j434d1ce]]とは別の名称、呼称など。
-例えば、Newtonsoft.Jsonに対するJson.NETなど。~
https://www.nuget.org/packages/Newtonsoft.Json/
***description [#rbe8e1a7]
パッケージのザックリとした説明。
***authors、owners [#g9c24808]
-owners~
開発した個人。
-authors~
著作権を持つ個人・団体。
-参考
--Owner or Author ? What’s the Difference?~
http://kelleykeller.com/owner-vs-author-whats-the-differe...
***projectUrl、licenseUrl、iconUrl [#qe2df163]
各種URLを設定する。
-projectUrl
-licenseUrl
-iconUrl
***version [#r8c14f07]
-依存関係を解決する際に使用されるパッケージバージョン。
-パッケージを単一のアセンブリに限定するためのもの。
-基本的には、以下の3つを使用して~
「n.n.n」(Major.Minor.Patch)と構成する。
--メジャーバージョン
--マイナーバージョン
--下位互換性のあるバグ修正
-注 :
--アセンブリバージョンではなく、パッケージバージョン
--故に、アセンブリバージョンと一致させる必要はない。
-参考
--[[プレリリース版のNuGetパッケージ>#o3f3febe]]
--安藤幸央のランダウン(51):意外と知らないバージョン表...
http://www.atmarkit.co.jp/ait/articles/1003/26/news106.html
***.NET Framework アセンブリへの参照の追加 [#ec2eb9f8]
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Web" />
</frameworkAssemblies>
***他のNugetパッケージへの依存関係の追加 [#kd3ca09a]
<dependencies>
<dependency id="jQuery" />
</dependencies>
バージョンを指定可能。範囲指定も可能。
-Dependency Versions in NuGet | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/create-packages/de...
***アセンブリの追加(*.dll) [#h5442e78]
[[target>https://docs.microsoft.com/ja-jp/dotnet/standard...
<files>
<file src="bin\Release\*.*" target="lib\net45" />
</files>
***参考 [#ufd9e6b0]
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2...
<metadata>
<!-- The identifier that must be unique within the h...
<!-- ホスティングギャラリー内で一意でなければならな...
<id>Contoso.Utility.UsefulStuff</id>
<!-- The package version number that is used when re...
<!-- 依存関係を解決するときに使用されるパッケージの...
<version>1.8.3.331</version>
<!-- Authors contain text that appears directly on t...
<!-- Authorsには、ギャラリーに直接表示されるテキスト...
<authors>Dejana Tesic, Rajeev Dey</authors>
<!-- Owners are typically nuget.org identities that ...
<!-- ownersは通常、ギャラリーのユーザーが同じownerに...
<owners>dejanatc, rjdey</owners>
<!-- License and project URLs provide links for the ...
<!-- licenseUrlとprojectUrlはギャラリーにリンクを提...
<licenseUrl>http://opensource.org/licenses/MS-PL</li...
<projectUrl>http://github.com/contoso/UsefulStuff</p...
<!-- The icon is used in Visual Studio's package man...
<!-- このアイコンは、Visual Studioのパッケージ・マネ...
<iconUrl>http://github.com/contoso/UsefulStuff/nuget...
<!-- If true, this value prompts the user to accept ...
<!-- trueの場合、この値は、パッケージのインストール...
<requireLicenseAcceptance>false</requireLicenseAccep...
<!-- Any details about this particular release -->
<!-- このリリースに関する詳細 -->
<releaseNotes>Bug fixes and performance improvements...
<!-- The description can be used in package manager ...
<!-- descriptionは、パッケージ・マネージャのUIで使用...
<description>Core utility functions for web applicat...
<!-- Copyright information -->
<!-- 著作権情報 -->
<copyright>Copyright ©2016 Contoso Corporation</copy...
<!-- Tags appear in the gallery and can be used for ...
<!-- tagsはギャラリーに表示され、tag検索に使用できま...
<tags>web utility http json url parsing</tags>
<!-- Dependencies are automatically installed when t...
<!-- dependencyは、パッケージのインストール時に自動...
<dependencies>
<dependency id="Newtonsoft.Json" version="9.0" />
</dependencies>
</metadata>
<!-- A readme.txt will be displayed when the package i...
<!-- パッケージのインストール時に readme.txt が表示さ...
<files>
<file src="readme.txt" target="" />
</files>
</package>
**パッケージ(nupkgファイル)の作成 [#i825791f]
***プロジェクト・ファイルを使用 [#e712e2b9]
-以下のコマンドでパッケージを作成する。
nuget pack [*.csprojファイルパス]
-カレントでやれば、*.csprojファイルのパス指定は不要。
nuget pack
-リリースビルを選択する場合、
nuget pack -Prop Configuration=Release
***nuspecファイルを使用 [#g07875e2]
-「[[高度な設定>#v9ecded0]]」を行う場合はnuspecファイルを...
nuget pack [*.nuspecファイルパス]
***nupkgファイルの内容確認方法 [#p66307ac]
-「*.nupkg、*.symbols.nupkg」は ZIP ファイルなので、~
拡張子を「*.zip」にすれば、解凍して実際に含まれる ファイ...
-同梱されているアセンブリの詳細については、~
「[[.NETアセンブリのtargetFrameworkを確認する方法]]」~
に記述されている方法で確認できる。
**NuGet への登録 [#q8d1dbf1]
***コマンドラインから [#a892ebc9]
-Access Keyを取得する。
Accountページに遷移してAPI Keysを取得する。
--NuGet Gallery | Edit Profile~
https://www.nuget.org/account
--E-Mail Confirmationが必要。
-以下のコマンドでNuGet へ登録する。
--方法1(urlのv1は、バージョン指定?)
nuget push -source http://packages.nuget.org/v1/ [*.nupk...
--方法2(URLは不要?)
nuget setapikey [access key]
nuget push [*.nupkgファイルパス]
***Webサイトから [#oafcb7ca]
NuGet Gallery でアップロードする場合、API Keysは不要。
-NuGet Gallery | Upload Package~
https://www.nuget.org/packages/manage/upload
***公開前に(ローカルで)テスト実行する。 [#f976e345]
-以下が参考になる。
--[[NuGetプライベート・リポジトリ]]
-ざっくり、
--Nugetパッケージ・マネージャーの設定で、~
パッケージ ソース(ローカルPCのフォルダ)を追加する。
--ソリューションのNugetパッケージの管理を開き、~
追加したパッケージ ソースを選択して「参照」の検索窓から検...
#ref(Nuget.png,left,nowrap,50%,ソリューションのNugetパッ...
--検索されたNugetパッケージを選択してインストールする。
--packagesフォルダには以下のようにインストールされる。
Touryo.Public.2.0.0
├ lib
| └ net46
| ├ Public.dll
| └ Public.XML
└ Touryo.Public.2.0.0.nupkg
--なお、依存関係も自動的に反映されるようで、~
このプロジェクトのpackages.configで使用しているパッケージ...
**バージョンアップする。 [#m026269b]
nuspec ファイルの version を書き換えて同じように nupkg を...
*高度な設定 [#v9ecded0]
**パッケージにファイルを含める [#h7f974d4]
***パッケージに含めるファイル [#z01ea2e5]
-ターゲットプロジェクトに挿入するコンテンツとソースコード
-PowerShellスクリプト(インストールスクリプト、NuGet 2.x...
-プロジェクト内の既存の構成ファイルおよびソースコードファ...
***作業ディレクトリのフォルダ構造レイアウトの規則 [#ee27a...
|#|フォルダ|説明|パッケージのインストール時の動作|h
|1|tools|Package Manager Consoleパッケージ・マネージャコ...
|2|lib|アセンブリファイル(.dll)、ドキュメント(.xml)フ...
|3|content|任意のファイル|コンテンツはプロジェクトルート...
|4|build|MSBuild .targetsと.propsファイル|プロジェクトフ...
***パッケージへのインクルード [#ufc7e259]
nuspecファイルの<metadata>要素と同じ階層に、~
<files>か<contentFiles>要素を追加することで、ファイル...
-[[アセンブリ・ファイル>https://docs.microsoft.com/ja-jp/...
--ファイルは*.nupkgファイルを作成するときに自動的にインク...
--<files>要素を使用し、自動動作を回避、インクルード・ファ...
-[[コンテンツ・ファイル>https://docs.microsoft.com/ja-jp/...
--contentFiles要素を使用する。
**複数のTarget Frameworksのサポート [#b3135d75]
https://docs.microsoft.com/ja-jp/nuget/create-packages/su...
「[[パッケージにファイルを含める>#h7f974d4]]」の方法で、...
***設定 [#vc3794df]
以下は、nuspecファイルの設定例
<files>
<file src="bin\Release\net46\MyAssembly.dll" target="...
<file src="bin\Release\net461\MyAssembly.dll" target=...
<file src="bin\Release\uap\MyAssembly.dll" target="li...
<file src="bin\Release\netcore\MyAssembly.dll" target...
</files>
***結果 [#c7bee26c]
パッケージのインストール後のpackagesフォルダのlibフォルダ...
-lib\{framework name}[{version}]
-例:
\lib
\net46
\MyAssembly.dll
\net461
\MyAssembly.dll
\uap
\MyAssembly.dll
\netcore
\MyAssembly.dll
***参考 [#d5d16531]
Dapperのnuspecファイルが参考になる。
-dapper-dot-net/dapper.nuspec at master · perliedman/dapp...
https://github.com/perliedman/dapper-dot-net/blob/master/...
<files>
<file src="Dapper NET45\bin\Release\Dapper.dll" targe...
<file src="Dapper NET45\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET45\bin\Release\Dapper.xml" targe...
<file src="Dapper NET40\bin\Release\Dapper.dll" targe...
<file src="Dapper NET40\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET40\bin\Release\Dapper.xml" targe...
<file src="Dapper NET35\bin\Release\Dapper.dll" targe...
<file src="Dapper NET35\bin\Release\Dapper.pdb" targe...
<file src="Dapper NET35\bin\Release\Dapper.xml" targe...
</files>
***[[.NET Standard]]、[[.NET Core]]のDependencies [#s0193...
dependencies > group > targetFramework="netstandard2.0" ...
<dependencies>
<group>
<dependency id="DotNetZip" version="1.12.0" />
<dependency id="log4net" version="2.0.8" />
<dependency id="Newtonsoft.Json" version="11.0.2"...
</group>
<group targetFramework="netstandard2.0">
<dependency id="log4net" version="2.0.8" />
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Microsoft.Extensions.Configuratio...
<dependency id="Newtonsoft.Json" version="11.0.2"...
<dependency id="System.Data.Odbc" version="4.5.0"...
<dependency id="System.Data.SqlClient" version="4...
</group>
</dependencies>
**様々なパッケージ [#mcfbe29c]
***Localized Package(ローカライズ) [#m0794562]
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
以下の2つの方法がある。
-Localized resource assembly(Localized satellite assembl...
--ワイルドカードを使用する方法。
--xxxx.resources.dllを個別に同梱することもできる。
-個別にLocalized satellite packagesを作成する。~
(Microsoft.Owin.ja や Microsoft.AspNet.Mvc.ja 的な)
***[[Symbol Package(デバッグ用)>NuGetパッケージのデバッ...
***[[NuGetパッケージのプレリリース版]] [#o3f3febe]
***package type [#g888561e]
NuGet 3.5以降で設定可能。
-Dependency(既定値)~
上記の説明はコレ。
-DotnetCliTool~
.NET Coreプロジェクトにのみインストールできる.NET Core CL...
-カスタムタイプパッケージ~
DependencyとDotnetCliTool以外のタイプは、~
Visual StudioのNuGet Package Managerによって認識されない。
*注意 [#x579d11b]
**一度登録すると通常消せない。 [#g6945e13]
-バージョン番号を上げてアップロードすることでアップデート...
-必要に応じて、
--旧バージョンを非表示にすることはできる。
--別途、運営に連絡して削除することもできる。
**依存関係 [#u9a8011d]
***Dependenciesタグ [#sf97bdb3]
NuGetサイトに表示されるのは、*.nspecファイルのDependencie...
***自動的に追加されるNuGetパッケージ [#x04c4821]
しかし、NuGetから追加された時には、
-package.configによるのか、
-バイナリ解析によるのか、
不明だが自動的に依存関係にあるNuGetパッケージが追加される。
**[[Symbolの作成・登録と公開方法の変更>NuGetパッケージの...
*参考 [#y156cbe0]
-プロジェクトをNugetパッケージにして公開する - Qiita~
http://qiita.com/icoxfog417/items/71718196cc4f335892d4
-NuGet パッケージを作成して公開する | Do Design Space~
https://sakapon.wordpress.com/2013/07/16/nugetpackage/
-NuGet パッケージを作って公開する - しばやん雑記~
http://blog.shibayan.jp/entry/20110306/1299422776
-Nugetギャラリーにライブラリを登録するまでの手順 - Source...
http://sourcechord.hatenablog.com/entry/2016/02/19/201502
-NuGet - パッケージを作成して NuGet で公開する~
https://msdn.microsoft.com/ja-jp/magazine/hh708753.aspx
**Microsoft Docs [#r90c5f27]
-Create Packages > Overview and workflow of creating NuG...
https://docs.microsoft.com/ja-jp/nuget/create-packages/ov...
--How to create a NuGet package~
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
--Dependency Versions in NuGet~
https://docs.microsoft.com/ja-jp/nuget/create-packages/de...
--Supporting Multiple Target Frameworks~
https://docs.microsoft.com/ja-jp/nuget/create-packages/su...
--Creating Localized Packages~
https://docs.microsoft.com/ja-jp/nuget/create-packages/cr...
--Symbol Packages~
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
--Publish a Package~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pu...
-NuGet.org 上の組織~
https://docs.microsoft.com/ja-jp/nuget/nuget-org/organiza...
>※ Organizations on NuGet.org | The NuGet Blog~
https://devblogs.microsoft.com/nuget/organizations-on-...
**nuspecファイルの定義例 [#h83986d2]
***著名なパッケージを参考にする。 [#i7310626]
-Newtonsoft.Json(Json.NET)~
https://github.com/JamesNK/Newtonsoft.Json/blob/master/Bu...
-Dapper~
https://github.com/perliedman/dapper-dot-net/blob/master/...
***Open棟梁のパッケージを参考にする。 [#ad8e8930]
-/OpenTouryoProject/OpenTouryo/~
https://github.com/OpenTouryoProject/OpenTouryo/tree/deve...
**nuspecファイルのメタデータ要素 [#n3a85383]
-.nuspec File Reference for NuGet | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/schema/nuspec
--NuGet.Client/nuspec.xsd at dev · NuGet/NuGet.Client~
https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet....
>このnuspec.xsdをVisual Studioで確認するとSchemeの詳細が...
***必要なメタデータ要素(最小要件) [#t3a22c04]
|#|要素|説明|h
|1|id|大文字と小文字を区別しない、nuget.orgなどのパッケー...
|2|version|major.minor.patchパターンのパッケージのバージ...
|3|description|nuget.orgでパッケージのページを表示したと...
|4|authors|パッケージ著者のカンマ区切りのリスト。|
***オプションのメタデータ要素(必要に応じて追加) [#y3cb2...
-単項目
|#|要素名|説明|h
|1|title|パッケージには、一般的にはUIで使用される、パッケ...
|2|owners|nuget.orgでプロファイル名を使用しているパッケー...
|3|projectUrl|パッケージのホームページのURL。&br;多くの場...
|4|licenseUrl|パッケージのライセンスのURL。&br;nuget.org...
|5|iconUrl|UI表示でパッケージのアイコンとして使用する透過...
|6|requireLicenseAcceptance|パッケージをインストールする...
|7|developmentDependency|(2.8+)パッケージが開発専用依存...
|8|summary|Visual Studioから検索して表示される一覧表示用...
|9|releaseNotes|(1.5+)このパッケージのリリースで行われ...
|10|copyright|(1.5+)パッケージの著作権詳細。|
|11|language|パッケージのロケールID。&br;ローカライズされ...
|12|tags|パッケージを記述するタグとキーワードのスペース区...
|13|serviceable|(3.3+)内部NuGet専用|
|14|minClientVersion|(2.5+)このパッケージをインストール...
-複数項目
|#|要素名|説明|h
|1|packageTypes|(3.3+)伝統的な依存パッケージ以外のパッ...
|2|dependencies|パッケージの依存関係を指定する0個以上の<d...
|3|frameworkAssemblies|(1.2+)このパッケージに必要な.NET...
|4|references|(1.5+)プロジェクトの参照として追加される...
|5|contentFiles|(3.3+)コンシューマプロジェクトに含める...
**NuGetパッケージ関連 [#ge82720f]
***[[NuGetプライベート・リポジトリ]] [#t6e5d70f]
***[[NuGetパッケージのデバッグ]] [#w62300b5]
***[[NuGetパッケージのプレリリース版]] [#u646f6d5]
**Open 棟梁 Wiki [#x2bb67ef]
***[[NuGet導入、NuGet登録>https://opentouryo.osscons.jp/i...
***[[Open棟梁のバージョン番号付与ポリシー>https://opentou...
**OssCons...TestClassLibrary1 [#h99e4e03]
OSSコンソーシアム 開発基盤部で登録したテスト用ライブラリ
-SampleProgram/NuGet at master · OpenTouryoProject/Sample...
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
-NuGet Gallery | OssCons.DotNetSubcommittee.TestClassLibr...
https://www.nuget.org/packages/OssCons.DotNetSubcommittee...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:NuGet]]
ページ名: