Dela via


Rikta in sig på flera ramverksversioner och plattformar

Genom att använda MSBuild kan du kompilera ett program för att köra på någon av flera versioner av .NET Framework och på någon av flera systemplattformar. Du kan till exempel kompilera ett program som ska köras på .NET Framework 2.0 på en 32-bitarsplattform och kompilera samma program som ska köras på .NET Framework 4.5 på en 64-bitars plattform.

Not

Den här artikeln beskriver en äldre typ av multitargeting som gäller för .NET Framework-versioner där ett projekt bara kan rikta in sig på ett ramverk och bara en plattform i taget. I .NET Core och .NET 5 och senare kan du använda en nyare typ av multitargeting med hjälp av egenskapen TargetFrameworks (plural) i en projektfil. När du skapar med dotnet build eller liknande .NET CLI-kommandon, eller med Visual Studio efter att du har läst in projektet igen, använder bygget den nyare typen av multitargeting, där flera versioner inträffar, en gång för varje målramverk som anges. Se Målramverk.

Det här är några av funktionerna för MSBuild-målstyrning:

  • Du kan utveckla ett program som är avsett för en tidigare version av .NET Framework, till exempel version 2.0, 3.5 eller 4.

  • Du kan rikta in dig på ett annat ramverk än .NET Framework, till exempel Silverlight Framework.

  • Du kan rikta in dig på en ramverksprofil, som är en fördefinierad delmängd av ett målramverk.

  • Om ett Service Pack för den aktuella versionen av .NET Framework släpps kan du rikta in dig på det.

  • MSBuild-mål garanterar att ett program endast använder de funktioner som är tillgängliga i målramverket och plattformen.

Målramverk och plattform

Ett målramverk är den version av .NET Framework som ett projekt är byggt att köras på, och en målplattform är den systemplattform som projektet är byggt att köras på. Du kanske till exempel vill att ett .NET Framework 2.0-program ska köras på en 32-bitarsplattform som är kompatibel med processorfamiljen 80x86 (x86). Kombinationen av målramverk och målplattform kallas målkontext. Mer information finns i Target Framework och målplattformen.

Verktygsuppsättning (ToolsVersion)

En verktygsuppsättning samlar ihop de verktyg, uppgifter och mål som används för att skapa programmet. En verktygsuppsättning innehåller kompilatorer som csc.exe och vbc.exe, den gemensamma målfilen (microsoft.common.targets) och den vanliga uppgiftsfilen (microsoft.common.tasks). Verktygsuppsättningen 4.5 kan användas för att rikta in sig på .NET Framework-versionerna 2.0, 3.0, 3.5, 4 och 4.5. 2.0-verktygsuppsättningen kan dock bara användas för att rikta in sig på .NET Framework version 2.0. Mer information finns i Toolset (ToolsVersion).

Referenssammansättningar

Referenssammansättningarna som anges i verktygsuppsättningen hjälper dig att utforma och skapa ett program. Dessa referenssammansättningar aktiverar inte bara en viss målversion, utan begränsar även komponenter och funktioner i Visual Studio IDE till de som är kompatibla med målet. Mer information finns i Lösa sammansättningar vid designtillfället.

Konfigurera mål och uppgifter

Du kan konfigurera MSBuild-mål och -uppgifter så att de tar slut med MSBuild så att du kan rikta in dig på kontexter som skiljer sig avsevärt från de som du kör på. Du kan till exempel rikta in dig på ett 32-bitars .NET Framework 2.0-program medan utvecklingsdatorn körs på en 64-bitarsplattform med .NET Framework 4.5. Mer information finns i Konfigurera mål och uppgifter.

Felsökning

Du kan stöta på fel om du försöker referera till en sammansättning som inte ingår i målkontexten. Mer information om dessa fel och vad du kan göra med dem finns i Felsöka .NET Framework-målfel.