GitHub仕事

Visual Studio 2017や2019のプロジェクトで、msbuildでnugetパッケージを復元する

仕事でGit / GitHub の導入教育を担当しています。

GitHub Actionsでワークフローを書いていて感じているのですが、
.NET 5系で使うdotnetコマンドや、逆にnugetコマンド単体の情報は多いですが、
.NET Framework 4系のプロジェクトの作業を自動化したいというときに、
GitHub Actionsの流れでmsbuildコマンドの用法が書かれている記事が少ないような気がします。

そこで今日解決したコマンドをご紹介。

Visual Studioでは問題なくビルドできるのに、GitHub Actionsでmsbuildでビルドすると、依存ライブラリが取り込めていないという理由でエラーするんですよね。

nugetパッケージを復元したいのですが、nugetコマンドでうまくいかない・・
と色々調べたところ、msbuildのrestoreターゲットが正解でした。
nugetの記述は不要でした・・。

# x64 Native Tools Command Prompt for VS 2019を起動するアクション
- use: ilammy/msvc-dev-cmd@v1
- run: |
    msbuild /t:restore
    msbuild <project file> /t:rebuild /p:configuration=release /p:platform=x64

たどり着いてしまうとそのものずばりなのですが、思ったより時間がかかりました。

NuGet パッケージの復元
プロジェクトが依存しているパッケージを NuGet が復元する方法についての概要を参照してください。復元を無効にする方法や、バージョンを制約する方法についても触れています。

なお今回は”x64 Native Tools Command Prompt for VS 2019″ を利用したかったというのもあったのですが、ドンピシャのGitHub Actionsモジュールの情報をこちらから入手させていただきました。
ありがとうございます。

GitHub Actions で VS2019 の C++ ビルドをする

わたしの勤め先では、GitHub Enterprise Serverを利用しています。
GitHub Docsを見る際は画面上部のプルダウンから、お使いのGitHubプランを選択する必要があるので注意です。(プランによってはサポートされていない仕様があります)

GitHub Actions のワークフロー構文 - GitHub Docs
ワークフローは、1 つ以上のジョブからなる設定可能な自動化プロセスです。 ワークフローの設定を定義するには、YAMLファイルを作成しなければなりません。
タイトルとURLをコピーしました