この記事は公開から3年以上経過しています。
過去のエントリ「C#と機械学習でコロナ感染の今後を予測してみる」で紹介したソースコードをarchlinux上のVSCodeと.NET 5.0 SDK環境で実行したところエラーで実行できなかったため、その対策方法についてのメモ。
問題
.net core3.1用のC#プロジェクトをarchlinux上の.NET 5.0環境でVSCodeから実行すると、以下のようなエラーが発生する。
it was not possible to find any compatible framework version
The framework ‘Microsoft.NETCore.App’, version ‘3.1.0’ was not found.
- The following frameworks were found:
5.0.5 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
- https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=arch-x64
ターゲット プロセスは、CoreCLR 開始イベントを発生させずに終了しました。ターゲット プロセスが .NET Core を使用するよう構成されていることをご確認ください。これは、ターゲット プロセスが .NET Core 上で実行されていない場合に発生する可能性があります。
プログラム ‘[47808] Covid19InJapan.dll’ がコード 150 (0x96) で終了しました。
対応
.NET 5.0用にプロジェクトのビルド設定を変更する。
-
*.csproj
のTargetFramework
をnet5.0
に変更。/Covid19InJapan/Covid19InJapan/Covid19InJapan.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net5.0</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="CsvHelper" Version="15.0.5" /> <PackageReference Include="MathNet.Numerics" Version="4.12.0" /> <PackageReference Include="Microsoft.ML" Version="1.5.2" /> <PackageReference Include="Microsoft.ML.TimeSeries" Version="1.5.2" /> <PackageReference Include="XPlot.Plotly" Version="3.0.0" /> </ItemGroup> </Project>
-
launch.json
のプログラム配置パスをnet5.0
に変更。
/Covid19InJapan/.vscode/launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Covid19InJapan/bin/Debug/net5.0/Covid19InJapan.dll",
"args": [],
"cwd": "${workspaceFolder}/Covid19InJapan",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
ちなみにC#と機械学習でコロナ感染の今後を予測してみるを用いて、2021.1.8から発令された緊急時短宣言が栃木で解除された2021.2.8以降2021.4.17現在までのデータによる予測結果は以下のとおりです。
<コロナ日毎感染率の予測結果>
<コロナ日毎死者数予測結果>
感染率データと死者数のデータを連携していないため単独で見ると短期的に上昇後に下降していますが、感染率が増加すれば死者数も増加するのではないかと思います。
参考ウェブサイトなど
- Microsoft Docs
Supported target frameworks
以上です。