しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

NuGet

NuGet 6.4 の Central Package Management を使って複数プロジェクト間のバージョン管理を改善する

Visual Studio 2022 17.4 以降に含まれている NuGet 6.4 では、複数プロジェクトでのバージョン管理を一元化出来る Central Package Management が実運用可能なレベルとして提供されています。NuGet などのパッケージマネージャを利用する際の共通の悩みが、…

Azure Pipelines での .NET Core アプリケーションのビルド時に NU1101 エラーが出るのを回避する

少し前から Azure Pipelines の Windows ワーカーを使っている場合に、以下のような NuGet パッケージの復元時にエラーが出ることが増えてきました。参照している NuGet パッケージが多いと大量に出るので結構邪魔ですし、マルチステージでビルドしている場…

NuGet のロックファイルと CI でのパッケージキャッシュ

基本的に NuGet に関しては CI でのパッケージのキャッシュがあまり効果的ではないのですが、推奨設定での使い方をちゃんと試しておこうと思ったので残します。GitHub Actions や Azure Pipelines には NuGet 向けのサンプル定義が用意されています。中身は…

Azure Pipelines で NuGet パッケージのデプロイを自動化

AppVeyor から Azure Pipelines への移行を見越しつつも、ちゃんと NuGet パッケージの発行周りを検証していなかったので Build と Release のパイプラインを組みました。AppVeyor での自動化については前回書いたエントリを参照してください。やっているこ…

AppVeyor で NuGet パッケージのデプロイを自動化

非常に今更感がある内容なのと、Azure Pipelines の方が便利なんじゃないか疑惑もありますが、AppVeyor を使っているプロジェクトが多いので、やっと真面目に対応しました。GitHub 上で新しく Release を作成すると、そのタグ名をバージョンにして NuGet パ…

Azure Artifacts を使って自前 NuGet サーバー運用を捨てる

最近 Azure DevOps 周りを弄ってますが、あまり話として Azure Artifacts について聞いた覚えがないので軽く確認しておきました。単なるプライベート NuGet リポジトリではないのは確かです。とりあえずドキュメントは参照しておきますが、思ったより機能は…

Visual Studio 2017 での NuGet アップデートが良い感じだった

全然追っていなかったのですが Visual Studio 2017 で NuGet 周りにこれまでで一番手が入るようです。NuGet のリリース以来、最大のアップデートと言ってもいい感じがします。packages.config ではなくて MSBuild での PackageReference が、これまでの .NET…

インストール時に MachineKey を自動生成する NuGet パッケージを作った

大昔に紹介した MachineKey をオンラインで生成できるサイトが、いつの間にかドメインごと消滅していてとても不便だったので、代わりになるものとして MachineKey を自動的に生成し、Web.config に設定まで行う NuGet パッケージを作りました。このパッケー…

NuGet のオプションをよく忘れるのでまとめておく

NuGet に関して最近はサボり気味だったので、久しぶりに真面目にオプションを調べました。基本的に NuGet の最新版がインストールされているものとして扱います。NuGet PowerShell Reference | Microsoft Learn公式のドキュメントにさらに情報が載っているの…

複数のソリューション間で NuGet のリポジトリを共有する

最近はソリューションを分割して別々に開発する機会が多いのですが、毎回 NuGet パッケージの復元で困るので、ソリューションが分割されていても NuGet パッケージのリポジトリを共有する方法を調べました。前提としては、以下のようなソリューション構成に…

NuGet.Server を利用してプライベートリポジトリを構築する

こんばんは。@IT で NuGet 入門記事が全て公開されてほっとしてます、しばやんです。今回 @IT 向けに記事を書くにあたって、私が持っている s-software.net ドメイン上に NuGet のプライベートリポジトリを構築していろいろと検証を行いました。プライベート…

NuGet パッケージを作って公開する

ようやく Hatena.Helper で NuGet デビューしましたが、ちょっとパッケージの作り方と NuGet への登録で迷ったので手順をまとめてみます。まずは NuGet - Home から「NuGet.exe Command Line」をダウンロードします。NuGet に登録するには拡張子が nupkg の…