Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio lehetővé teszi az alkalmazás buildjeinek beállítását különböző platformok (processzorarchitektúrák) megcélzásához, beleértve az Arm64-et és más platformokat is. A célplatform létrehozásához nem kell a Visual Studiót platformon futtatnia. A Visual Studio Arm64-támogatásával kapcsolatos további információkért lásd: Visual Studio ARM-alapú eszközökön. A .NET-fejlesztés 64 bites platformtámogatásával kapcsolatban lásd a 64 bites alkalmazásokat.
Megjegyzés:
A Visual Studio 2022 64 bites alkalmazásként fut. Ez teljesen elkülönül a Visual Studióban a projektekhez megcélzható platformoktól. A Visual Studio bármely verziójával megcélzhatja a 32 bites és a 64 bites platformokat is.
Platformok célzása a Configuration Managerrel
A Configuration Manager segítségével gyorsan hozzáadhat egy új platformot a projekthez. Ha kiválasztja a Visual Studióhoz tartozó platformok egyikét, a rendszer konfigurálja a projektet a kiválasztott platformhoz.
Ha natív C++ projekt egyes platformjaira szeretne célozni, telepítenie kell a platform buildelési eszközeit. Az x86- és x64-platformokhoz készült C++ buildeszközök az alapértelmezett C++ számítási feladattal vannak telepítve. Ha egy másik processzorarchitektúrát, például az Arm64-et céloz meg, a folytatás előtt telepítenie kell a Visual Studio Installert a platform buildelési eszközeinek telepítéséhez. Lásd a részt a Visual Studiomódosításáról. Az Arm64-es célzásához nem kell Visual Studio-t Arm64-eszközön futtatnia. Az Arm64-hez arm64-buildeszközöket vagy ARM64EC buildelési eszközöket telepíthet; lásd: Arm64 Visual Studio.
A .NET-fejlesztéshez a .NET 6-os vagy újabb verziójára van szükség az Arm64 platform megcélzásához. Lásd : .NET-támogatás macOS 11-hez és Windows 11-hez Arm64-hez és x64-hez.
Projekt konfigurálása az Arm64 és más platformok megcélzásához
A menüsávon válassza aBuild Configuration Manager lehetőséget>.
Az Aktív megoldás platform listájában válasszon egy platformot a megcélzandó megoldáshoz, majd válassza a Bezárás gombot.
Ha a kívánt platform nem jelenik meg az Aktív megoldás platform listájában, válassza az Új lehetőséget. Miután telepítette egy adott platform eszközeit, hozzáadhatja az új megoldásokat és projektkonfigurációkat, amelyek az adott platformot célják.
Megjelenik az Új megoldásplatform párbeszédpanel.
A Típus vagy az új platformlistában válassza ki a kívánt platformot (processzorarchitektúra); például
ARM64.
Megjegyzés:
Ha új nevet ad a konfigurációnak, előfordulhat, hogy módosítania kell a Project Designer beállításait a megfelelő platform megcélzásához.
Ha át szeretné másolni a beállításokat egy aktuális platformkonfigurációból, válassza ki, majd kattintson az OK gombra.
Megjegyzés:
A Win32-platform neve C++ projektekhez használatos, és x86-ot jelent. A Visual Studio a projektszintű és a megoldásszintű platformokat is figyelembe veszi, a projektplatformok pedig nyelvspecifikus projektrendszerekből származnak. A C++ projektek Win32-t és x64-et használnak, a megoldásplatformok azonban x86-ot és x64-et használnak. Ha az x86-ot választja megoldáskonfigurációként, a Visual Studio kiválasztja a Win32 platformot C++ projektekhez. A projektszintű és a megoldásszintű platformbeállítások megtekintéséhez nyissa meg a Configuration Managert , és jegyezze fel a két platformbeállítást. A megoldásszintű platform megjelenik az Aktív megoldásplatform legördülő listában, a táblázatban pedig az egyes projektek projektszintű platformja látható.
Célplatformok a Project Designerben vagy a Projekttulajdonságok felhasználói felületén
A Projekttervező vagy a Projekttulajdonságok felhasználói felülete lehetővé teszi a különböző platformok megcélzását is a projekttel. Ha az Új megoldásplatform párbeszédpanel listájában szereplő egyik platform kiválasztása nem működik a megoldáshoz, létrehozhat egy egyéni konfigurációnevet, és módosíthatja a Project Properties beállításait a megfelelő platform megcélzásához.
A feladat végrehajtása a használt programozási nyelvtől függően változik. További információért tekintse meg az alábbi hivatkozásokat:
Visual Basic-projektek esetén lásd a /platform (Visual Basic) című témakört.
C#-projektek esetén lásd: Build page, Project Designer (C#).
32 bites beállítás előnyben részesítve
A Preferálja a 32-bites módot beállítás a .NET-keretrendszer 4.5-ös vagy újabb projektjeihez készült projekttervező Build lapján kezeli azt az esetet, amikor a AnyCPU konfigurációt készíti, de azt szeretné, hogy az alkalmazás 32-bites módban fusson, amikor a 32-bites és a 64-bites módokat támogató platformokon hajtják végre. Ha bekapcsolja a jelölőnégyzetet, a PlatformTarget buildtulajdonság anycpu32bitpreferred értékre van beállítva. A PlatformTarget a C# esetében és /platform a Visual Basic esetében megjegyzéseit tekintse meg.
A projektfájl manuális szerkesztése
Néha manuálisan kell szerkesztenie a projektfájlt bizonyos egyéni konfigurációkhoz. Ilyen például, ha olyan feltételek vannak, amelyek nem adhatók meg az IDE-ben, például két különböző platformra vonatkozó hivatkozás, vagy egy olyan szerelvény, amelyet regisztrálni kell egy adott platformon, hogy közzétehesse azt a COM-nak. A projektfájlt feldolgozó eszköz az MSBuild.
Figyelmeztetés
A Visual Studióban használt C++ projektfájl manuális szerkesztése nem ajánlott.
COM-regisztráció
Ha .NET-szerelvényt készít, és a COM-nak teszi ki, a Visual Studio egy adott platformarchitektúrával regisztrálja a szerelvényt, mivel az egyes platformarchitektúrákhoz (például x86 és x64) különböző beállításjegyzék-helyek tartoznak. Ha a szerelvény már egy adott platformot céloz meg, akkor ezt használja a rendszer, de ha egy .NET-szerelvényt regisztrál, amely erre készült Any CPU, az MSBuild alapértelmezés szerint regisztrálja azt az MSBuild aktuális futtatókörnyezetében. Ha a Visual Studio-ban épít, az x64 a Visual Studio 2022-ben és újabb verzióiban használatos, míg x86 a Visual Studio 2019-ben és korábbi verziókban. Ha a platformarchitektúrát a cikkben korábban ismertetett módszerekkel állítja be, vagy a projektfájlban egy másikat PlatformTarget ad meg, az MSBuild ezt a regisztráció során figyelembe veszi. Van egy tulajdonság, amely felülbírálhatja ezt a viselkedést. RegisterAssemblyMSBuildArchitecture
RegisterAssemblyMSBuildArchitecture Beállíthatja a kívánt platformarchitektúrát (például x86 vagy x64) úgy, hogy hozzáadja azt a projektfájl egyik legfelső szintű PropertyGroup eleméhez.
Hivatkozás x86-os és x64-szerelvényekre és DLL-ekre
Lehet, hogy van egy .NET-szerelvénye vagy DLL-je, amely x86 és x64 verzióval is rendelkezik. Ha úgy szeretné beállítani a projektet, hogy ezeket a hivatkozásokat használja, először adja hozzá a hivatkozást, majd nyissa meg és szerkessze a projektfájlt ItemGroup , hogy olyan feltételt adjon hozzá, amely a konfigurációra és a célplatformra is hivatkozik. Tegyük fel például, hogy a hivatkozott bináris fájl a ClassLibrary1, és a hibakeresési és kiadási konfigurációk, valamint az x86- és x64-verziók különböző elérési útjai vannak. Ezután négy ItemGroup elemet használjon a beállítások összes kombinációjával, az alábbiak szerint:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<Platforms>AnyCPU;x64;x86</Platforms>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
A projektfájlról további információt az MSBuild projektfájl sémahivatkozásában talál.