Delen via


C#-compileropties waarmee resources worden opgegeven

Met de volgende opties bepaalt u hoe de C#-compiler Win32-resources maakt of importeert. De nieuwe MSBuild-syntaxis wordt vet weergegeven. De oudere csc.exe syntaxis wordt weergegeven in code style.

  • Win32Resource / -win32res: Geef een Win32-resourcebestand (.res) op.
  • Win32Icon / -win32icon: Referentiemetagegevens uit het opgegeven assemblybestand of de opgegeven assemblybestanden.
  • Win32Manifest / -win32manifest: Geef een Win32-manifestbestand (.xml) op.
  • NoWin32Manifest / -nowin32manifest: neem het standaard Win32-manifest niet op.
  • Resources / -resource: De opgegeven resource insluiten (korte vorm: /res).
  • LinkResources / -linkresources: koppel de opgegeven resource aan deze assembly.

Notitie

Raadpleeg compileropties voor meer informatie over het configureren van deze opties voor uw project.

Win32Resource

Met de optie Win32Resource wordt een Win32-resource in het uitvoerbestand ingevoegd.

<Win32Resource>filename</Win32Resource>

filename is het resourcebestand dat u wilt toevoegen aan het uitvoerbestand. Een Win32-resource kan versie- of bitmapgegevens (pictogram) bevatten waarmee u uw toepassing in de Bestandenverkenner kunt identificeren. Als u deze optie niet opgeeft, genereert de compiler versiegegevens op basis van de assemblyversie.

Win32Icon

Met de optie Win32Icon wordt een .ico-bestand in het uitvoerbestand ingevoegd, waardoor het uitvoerbestand het gewenste uiterlijk krijgt in de Bestandenverkenner.

<Win32Icon>filename</Win32Icon>

filename is het .ico bestand dat u wilt toevoegen aan het uitvoerbestand. Er kan een .ico-bestand worden gemaakt met de resourcecompilator. De Resource Compiler wordt aangeroepen wanneer u een Visual C++-programma compileert; er een .ico-bestand wordt gemaakt op basis van het RC-bestand .

Win32Manifest

Gebruik de optie Win32Manifest om een door de gebruiker gedefinieerd Win32-toepassingsmanifestbestand op te geven dat moet worden ingesloten in het pe-bestand (portable executable) van een project.

<Win32Manifest>filename</Win32Manifest>

filename is de naam en locatie van het aangepaste manifestbestand. De C#-compiler sluit standaard een toepassingsmanifest in dat een aangevraagd uitvoeringsniveau van 'asInvoker' aangeeft. Het maakt het manifest in dezelfde map waarin het uitvoerbare bestand is gebouwd. Als u een aangepast manifest wilt opgeven, bijvoorbeeld om een aangevraagd uitvoeringsniveau van 'highestAvailable' of 'requireAdministrator' op te geven, gebruikt u deze optie om de naam van het bestand op te geven.

Notitie

Deze optie en de optie Win32Resources sluiten elkaar wederzijds uit. Als u beide opties in dezelfde opdrachtregel probeert te gebruiken, krijgt u een buildfout.

Een toepassing met geen toepassingsmanifest dat een aangevraagd uitvoeringsniveau opgeeft, is onderhevig aan bestands- en registervirtualisatie onder de functie Gebruikersaccountbeheer in Windows. Zie Gebruikersaccountbeheer voor meer informatie.

Uw toepassing wordt onderworpen aan virtualisatie als aan een van deze voorwaarden wordt voldaan:

  • U gebruikt de optie NoWin32Manifest en u geeft geen manifest op in een latere buildstap of als onderdeel van een Windows-resourcebestand (.res) met behulp van de optie Win32Resource .
  • U geeft een aangepast manifest op dat geen aangevraagd uitvoeringsniveau opgeeft.

Visual Studio maakt een standaard .manifestbestand en slaat het op in de foutopsporings- en releasemappen naast het uitvoerbare bestand. U kunt een aangepast manifest toevoegen door er een te maken in een teksteditor en het bestand vervolgens toe te voegen aan het project. U kunt ook met de rechtermuisknop op het projectpictogram in Solution Explorer klikken, nieuw item toevoegen selecteren en vervolgens toepassingsmanifestbestand selecteren. Nadat u het nieuwe of bestaande manifestbestand hebt toegevoegd, wordt dit weergegeven in de vervolgkeuzelijst Manifest . Zie Application Page, Project Designer (C#) voor meer informatie.

U kunt het toepassingsmanifest opgeven als een aangepaste stap na de build of als onderdeel van een Win32-resourcebestand met behulp van de optie NoWin32Manifest . Gebruik dezelfde optie als u wilt dat uw toepassing onderhevig is aan bestands- of registervirtualisatie op Windows Vista.

NoWin32Manifest

Gebruik de optie NoWin32Manifest om de compiler te instrueren geen toepassingsmanifest in te sluiten in het uitvoerbare bestand.

<NoWin32Manifest />

Wanneer deze optie wordt gebruikt, wordt de toepassing onderworpen aan virtualisatie op Windows Vista, tenzij u een toepassingsmanifest opgeeft in een Win32-resourcebestand of tijdens een latere buildstap.

Stel in Visual Studio deze optie in op de pagina Toepassingseigenschap door de optie Toepassing maken zonder manifest te selecteren in de vervolgkeuzelijst Manifest . Zie Application Page, Project Designer (C#) voor meer informatie.

Resources

Hiermee wordt de opgegeven resource in het uitvoerbestand ingesloten.

<Resources Include=filename>
  <LogicalName>identifier</LogicalName>
  <Access>accessibility-modifier</Access>
</Resources>

filename is het .NET-resourcebestand dat u wilt insluiten in het uitvoerbestand. identifier (optioneel) is de logische naam voor de resource; de naam die wordt gebruikt om de resource te laden. De standaardwaarde is de naam van het bestand. accessibility-modifier (optioneel) is de toegankelijkheid van de resource: openbaar of privé. De standaardwaarde is openbaar. Resources zijn standaard openbaar in de assembly wanneer ze worden gemaakt met behulp van de C#-compiler. Als u de resources privé wilt maken, geeft u private de toegankelijkheidsaanpassing op. Geen andere toegankelijkheid dan public of private is toegestaan. Als filename dit een .NET-resourcebestand is dat is gemaakt, bijvoorbeeld door Resgen.exe of in de ontwikkelomgeving, kan het worden geopend met leden in de System.Resources naamruimte. Zie System.Resources.ResourceManager voor meer informatie. Gebruik voor alle andere resources de GetManifestResource methoden in de Assembly klasse om tijdens runtime toegang te krijgen tot de resource. De volgorde van de resources in het uitvoerbestand wordt bepaald op basis van de volgorde die is opgegeven in het projectbestand.

LinkResources

Hiermee maakt u een koppeling naar een .NET-resource in het uitvoerbestand. Het resourcebestand wordt niet toegevoegd aan het uitvoerbestand. LinkResources verschilt van de optie Resource , die wel een resourcebestand insluit in het uitvoerbestand.

<LinkResources Include=filename>
  <LogicalName>identifier</LogicalName>
  <Access>accessibility-modifier</Access>
</LinkResources>

filename is het .NET-resourcebestand waarnaar u een koppeling wilt maken vanuit de assembly. identifier (optioneel) is de logische naam voor de resource; de naam die wordt gebruikt om de resource te laden. De standaardwaarde is de naam van het bestand. accessibility-modifier (optioneel) is de toegankelijkheid van de resource: openbaar of privé. De standaardwaarde is openbaar. Gekoppelde resources zijn standaard openbaar in de assembly wanneer ze worden gemaakt met de C#-compiler. Als u de resources privé wilt maken, geeft u private de toegankelijkheidsaanpassing op. Geen andere wijzigingsfunctie dan public of private is toegestaan. Als filename dit een .NET-resourcebestand is dat is gemaakt, bijvoorbeeld door Resgen.exe of in de ontwikkelomgeving, kan het worden geopend met leden in de System.Resources naamruimte. Zie System.Resources.ResourceManager voor meer informatie. Gebruik voor alle andere resources de GetManifestResource methoden in de Assembly klasse om tijdens runtime toegang te krijgen tot de resource. Het opgegeven filename bestand kan elke indeling zijn. U kunt bijvoorbeeld een systeemeigen DLL-onderdeel van de assembly maken, zodat deze kan worden geïnstalleerd in de globale assemblycache en toegankelijk is vanuit beheerde code in de assembly. U kunt hetzelfde doen in de Assembly Linker. Zie Al.exe (Assembly Linker) en Werken met assembly's en de Global Assembly Cache voor meer informatie.