仕事で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ファイルを作成しなければなりません。