Sdílet prostřednictvím


MSB3644 diagnostický kód

Tento článek popisuje kód chyby MSB3644.

Text zprávy

MSB3644: The reference assemblies for 'value' were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

Popis

K této chybě dochází v případě, že referenční sestavení .NET nejsou nalezena pro verzi rozhraní .NET, kterou projekt požaduje.

Tato chyba se může zobrazit, pokud váš projekt požaduje verzi sestavení, která není rozpoznána nebo nainstalována. K chybě dochází také v případě, že je poškozena nebo není k dispozici složka referenčních sestavení pro požadovanou verzi .NET.

Řešení

Ověřte, že váš projekt odkazuje na balíček NuGet Microsoft.NETFramework.ReferenceAssemblies . Další informace najdete v tématu Balíčky NuGet cílení na rozhraní .NET Framework.

Identifikátor a verze architektury souboru projektu

Zkontrolujte pravopisné nebo typografické chyby v souboru projektu ve vlastnostech TargetFramework, TargetFrameworks, TargetFrameworkIdentifier nebo TargetFrameworkVersion.

Například následující kód v souboru projektu způsobí chybu MSB3644:

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

Hodnota vlastnosti TargetFrameworkIdentifier je chybně napsaná. Správná hodnota je .NETCOREAPP s chybějící E hodnotou jako v CORE.

Při zadávání hodnot pro více cílových architektur s TargetFrameworks vlastností nezapomeňte hodnoty oddělit středníkem (;). Pokud použijete neplatný oddělovač, například čárku (,), systém vygeneruje chybu MSB3644.

Tady je příklad správné syntaxe:

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

Adresář referenčních sestavení

Poznamenejte si identifikátor rozhraní a verzi požadovanou v souboru TargetFramework, TargetFrameworkIdentifiera TargetFrameworkVersion vlastnosti a vyhledejte referenční složku sestavení pro danou verzi na místní jednotce.

Ve Windows se 32-bitová referenční sestavení pro .NET Core nacházejí ve složce C:\Program Files (x86)\Referenční sestavení\Microsoft\Framework\.NETCore. Pro 64bitovou verzi by měly být složky referenčních sestavení rozhraní .NET Framework umístěny v C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework.

Pokud složka pro verzi, kterou váš projekt potřebuje, není k dispozici nebo je poškozená, možná budete muset nainstalovat nebo přeinstalovat verzi sestavení. Požadovanou verzi můžete nainstalovat na webu Download .NET. Další informace naleznete v tématu Referenční sestavení.

Vztahuje se na

Všechny verze nástroje MSBuild