ご指摘の通り、プロジェクトファイル内のターゲットフレームワーク情報を現行サポートのものに書き換える必要があるので、多少面倒ですがビルドスクリプトについて以下のように変更を加えれば対応可能かと思います。
※ 以下 .NETCore3.1 に置き換える例として示します。
1. サーバパッケージ内の csharp/appsettings.jsonを開き、NETCOREAPP.VERSION の値を2.1から3.1に書き換える
"NETCOREAPP": { "VERSION": "3.1" }, |
2. Windows プラットフォームでビルドする場合、サーバパッケージ内の
csharp/mun_master/mun_master.bat
csharp/mun_resolver/mun_resolver.bat
csharp/mun_proxy/mun_proxy.bat
csharp/mun_room/mun_room.bat
をそれぞれ開き、60行目付近にあるupdate_csprojラベル(プロジェクトファイルの更新)処理について以下のように書き換える
REM ============================================== REM プロジェクトファイルの更新 REM ============================================== :update_csproj set SCRIPT_GET_VER="..\\scripts\\GetNetCoreVerInCsproj.ps1" set SCRIPT_UPDATE_VER="..\\scripts\\UpdateNetCoreVerInCsproj.ps1" set PROJ_FNAME="%PROJ_NAME%.csproj"
for /F "usebackq" %%i in (`powershell -NoProfile -ExecutionPolicy Unrestricted -File %SCRIPT_GET_VER% %PROJ_FNAME%`) do ( set NETCOREAPP_VERSION=%%i )
if %VERSION_STRING% == 3.1 ( if not %NETCOREAPP_VERSION% == netcoreapp3.1 ( REM 2.x => 3.1に書き換え for /F "usebackq" %%i in (`powershell -NoProfile -ExecutionPolicy Unrestricted -File %SCRIPT_UPDATE_VER% %PROJ_FNAME% netcoreapp3.1 netcoreapp2.0`) do ( set NETCOREAPP_VERSION=%%i ) for /F "usebackq" %%i in (`powershell -NoProfile -ExecutionPolicy Unrestricted -File %SCRIPT_UPDATE_VER% %PROJ_FNAME% netcoreapp3.1 netcoreapp2.1`) do ( set NETCOREAPP_VERSION=%%i ) ) ) exit /b |
3. Mac/Linux プラットフォームでビルドする場合、サーバパッケージ内の
csharp/mun_master/mun_master.sh
csharp/mun_resolver/mun_resolver.sh
csharp/mun_proxy/mun_proxy.sh
csharp/mun_room/mun_room.sh
をそれぞれ開き、20行目付近にあるupdate_csprojメソッドについて以下のように書き換える
update_csproj() { # ターゲット情報 target="$(xmllint --xpath "/Project/PropertyGroup/TargetFramework/text()" ${PROJ_NAME}.csproj)" if [ $1 = "3.1" ]; then if test ${target} != "netcoreapp3.1"; then # 2.0 => 3.1に書き換え xmllint --encode utf-8 ${PROJ_NAME}.csproj | sed -i -e "s/netcoreapp2.0/netcoreapp3.1/" ${PROJ_NAME}.csproj # 2.1 => 3.1に書き換え xmllint --encode utf-8 ${PROJ_NAME}.csproj | sed -i -e "s/netcoreapp2.1/netcoreapp2.1/" ${PROJ_NAME}.csproj fi else echo "未対応のCoreバージョンです" fi } |
この上でビルドすれば現状warningなしでバージョン置換ができると思います。