次の方法で共有


MSB3644: 'FrameworkVersion' の参照アセンブリが見つかりませんでした

このエラーは、プロジェクトで要求された .NET のバージョンの .NET 参照アセンブリが見つからなかった場合に発生します。 プロジェクトに Microsoft.NETFramework.ReferenceAssemblies NuGet パッケージへの参照があることを確認します。 「.NET Framework ターゲット パック Nuget パッケージ」を参照してください。 または、要求されているバージョンが認識されないか、インストールされていないという点で、プロジェクト ファイルに問題がある可能性があります。 または、その .NET バージョンの参照アセンブリ フォルダーが存在しないか、破損しているというインストールの問題がある可能性があります。

プロジェクト ファイルのフレームワークの ID とバージョン

プロジェクト ファイル内の TargetFrameworkTargetFrameworksTargetFrameworkIdentifier、または TargetFrameworkVersion プロパティにスペル ミスや誤字がないことを確認します。 たとえば、プロジェクト ファイル内の次のコードでは、MSB3644 が生成されます。

    <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''">
        <TargetFrameworkIdentifier>.NETCORAPP</TargetFrameworkIdentifier>
        <TargetFrameworkVersion>3.1</TargetFrameworkVersion>
    </PropertyGroup>

問題は、TargetFrameworkIdentifier が誤って入力されていることです。 .NETCORAPP ではなく ("e" がありません)、.NETCOREAPP を指定する必要があります。

TargetFrameworks プロパティと複数のターゲット フレームワークを利用する場合は、正しい区切り記号 ; で区切られていることを確かめます。 たとえば、, の区切り記号を使用してフレームワークを区切ろうとすると MSB3644 が発生します。 正しい構文の例を以下に示します。

    <PropertyGroup>
            <TargetFrameworks>net6.0;net5.0;netcoreapp3.1</TargetFrameworks>
    </PropertyGroup>

参照アセンブリ フォルダー

次に、TargetFrameworkTargetFrameworkIdentifierTargetFrameworkVersion で要求されているフレームワークの識別子およびバージョンをメモし、ローカル ドライブでそのバージョンの参照アセンブリ フォルダーを見つけます。 たとえば、Windows の場合、.NET Core の 32 ビット参照アセンブリは、C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore 下にあり、64 ビット .NET Framework 参照アセンブリ フォルダーは、C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework 下にあります。 プロジェクトで必要なバージョンのフォルダーが存在しないか、破損しているように思われる場合は、そのバージョンのインストールまたは再インストールが必要になる可能性があります。 必要なバージョンは、Download .NET でインストールできます。

関連項目