Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le opzioni seguenti controllano il modo in cui il compilatore C# crea o importa risorse Win32. La nuova sintassi di MSBuild viene visualizzata in grassetto. La sintassi di csc.exe precedente è illustrata in code style.
-
Win32Resource /
-win32res: specifica un file di risorse Win32 (.res). -
Win32Icon /
-win32icon: fa riferimento ai metadati dal file o dai file di assembly specificati. -
win32Manifest /
-win32manifest: specifica un file manifesto Win32 (.xml). -
NoWin32Manifest /
-nowin32manifest: non include il manifesto Win32 predefinito. -
EmbeddedResource /
-resource: incorporare la risorsa specificata (formato breve: /res). -
LinkResource /
-linkresource: collegare la risorsa specificata a questo assembly.
Nota
Per altre informazioni sulla configurazione di queste opzioni per il progetto, vedere Opzioni del compilatore.
Win32Resource
L'opzione Win32Resource inserisce una risorsa Win32 nel file di output.
<Win32Resource>filename</Win32Resource>
filename è il file di risorse da aggiungere al file di output. Una risorsa Win32 può contenere informazioni sulla versione o sulla bitmap (icona) che consentono di identificare l'applicazione in Esplora file. Se non si specifica questa opzione, il compilatore genera informazioni sulla versione in base alla versione dell'assembly.
Win32Icon
L'opzione Win32Icon inserisce un file .ico nel file di output, che fornisce al file di output l'aspetto desiderato in Esplora file.
<Win32Icon>filename</Win32Icon>
filename è il file con estensione ico da aggiungere al file di output. È possibile creare un file .ico usando il compilatore di risorse. Il compilatore di risorse viene richiamato quando si compila un programma Visual C++. Viene creato un file .ico dal file RC .
Win32Manifest
Usare l'opzione Win32Manifest per specificare un file manifesto dell'applicazione Win32 definito dall'utente da incorporare nel file eseguibile portabile (PE) di un progetto.
<Win32Manifest>filename</Win32Manifest>
filename è il nome e percorso del file manifesto personalizzato. Per impostazione predefinita, il compilatore C# incorpora un manifesto dell'applicazione che specifica un livello di esecuzione richiesto di asInvoker. Crea il manifesto nella stessa cartella in cui viene compilato l'eseguibile. Se si desidera fornire un manifesto personalizzato, ad esempio per specificare un livello di esecuzione richiesto di highestAvailable o requireAdministrator, usare questa opzione per specificare il nome del file.
Nota
L'opzione Win32Manifest e l'opzione Win32Resource si escludono a vicenda. Se si tenta di usare entrambe le opzioni nella stessa riga di comando, viene visualizzato un errore di compilazione.
Un'applicazione senza manifesto dell'applicazione che specifica un livello di esecuzione richiesto è soggetta alla virtualizzazione del file e del Registro di sistema nella funzionalità Controllo account utente in Windows. Per altre informazioni, vedere Controllo dell'account utente.
L'applicazione è soggetta alla virtualizzazione se una di queste condizioni è vera:
- Si usa l'opzione NoWin32Manifest e non si specifica un manifesto in una fase successiva della compilazione o come parte di un file di risorse di Windows (.res) usando l'opzione Win32Resource.
- Si fornisce un manifesto personalizzato che non specifica un livello di esecuzione richiesto.
Visual Studio crea un file .manifest predefinito e lo archivia nelle directory di debug e versione insieme al file eseguibile. Per aggiungere un manifesto personalizzato, crearne uno in qualsiasi editor di testo e quindi aggiungere il file al progetto. In alternativa, fare clic con il pulsante destro del mouse sull'icona Progetto in Esplora soluzioni, scegliere Aggiungi nuovo elemento e quindi selezionare File manifesto applicazione. Dopo aver aggiunto il file manifesto nuovo o esistente, viene visualizzato nell'elenco a discesa Manifesto . Per altre informazioni, vedere Pagina Applicazione, Creazione progetti (C#).
È possibile inserire il manifesto dell'applicazione come fase personalizzata dopo la compilazione o come parte di un file di risorse Win32 usando l'opzione NoWin32Manifest. Usare la stessa opzione se si vuole che l'applicazione sia sottoposta alla virtualizzazione dei file o del Registro di sistema in Windows Vista.
NoWin32Manifest
Usare l'opzione NoWin32Manifest per indicare al compilatore di non incorporare un manifesto dell'applicazione nel file eseguibile.
<NoWin32Manifest />
Quando si usa questa opzione, l'applicazione è soggetta alla virtualizzazione in Windows Vista a meno che non si fornisca un manifesto dell'applicazione in un file di risorse Win32 o durante un passaggio di compilazione successivo.
In Visual Studio impostare l'opzione nella pagina delle proprietà dell'applicazione selezionando l'opzione Crea applicazione senza manifesto nell'elenco a discesa Manifesto. Per altre informazioni, vedere Pagina Applicazione, Creazione progetti (C#).
EmbeddedResource
Incorpora la risorsa specificata nel file di output.
<EmbeddedResource Include="filename">
<LogicalName>identifier</LogicalName>
<Access>accessibility-modifier</Access>
</EmbeddedResource>
filename è il file di risorse .NET da incorporare nel file di output.
identifier (facoltativo) è il nome logico per la risorsa: il nome usato per caricare la risorsa. L'impostazione predefinita corrisponde al nome del file.
accessibility-modifier (facoltativo) indica l'accessibilità della risorsa, che può essere pubblica o privata. Il valore predefinito è public. Per impostazione predefinita, le risorse sono pubbliche nell'assembly quando vengono create usando il compilatore C#. Per renderle private, specificare private come modificatore di accessibilità. Nessun'altra accessibilità è consentita. Se filename è un file di risorse .NET creato, ad esempio Resgen.exe o nell'ambiente di sviluppo, è possibile accedervi usando i membri nello spazio dei System.Resources nomi . Per ulteriori informazioni, vedere System.Resources.ResourceManager. Per tutte le altre risorse, per accedere alla risorsa in fase di esecuzione usare i metodi GetManifestResource della classe Assembly. L'ordine delle risorse nel file di output deriva dall'ordine specificato nel file di progetto.
LinkResource
Crea un collegamento a una risorsa di .NET nel file di output. Il file di risorse non viene aggiunto al file di output. LinkResource è diverso dall'opzione EmbeddedResource , che incorpora un file di risorse nel file di output.
<LinkResource Include="filename">
<LogicalName>identifier</LogicalName>
<Access>accessibility-modifier</Access>
</LinkResource>
filename è il file di risorse .NET a cui si vuole stabilire un collegamento dall'assembly.
identifier (facoltativo) è il nome logico per la risorsa: il nome usato per caricare la risorsa. L'impostazione predefinita corrisponde al nome del file.
accessibility-modifier (facoltativo) indica l'accessibilità della risorsa, che può essere pubblica o privata. Il valore predefinito è public. Per impostazione predefinita, le risorse collegate sono pubbliche nell'assembly quando vengono create usando il compilatore C#. Per renderle private, specificare private come modificatore di accessibilità. Non è consentito alcun altro modificatore. Se filename è un file di risorse .NET creato, ad esempio Resgen.exe o nell'ambiente di sviluppo, è possibile accedervi usando i membri nello spazio dei System.Resources nomi . Per ulteriori informazioni, vedere System.Resources.ResourceManager. Per tutte le altre risorse, per accedere alla risorsa in fase di esecuzione usare i metodi GetManifestResource della classe Assembly. Il file specificato in filename può avere qualsiasi formato. Ad esempio, potrebbe essere necessario creare una DLL nativa nell'assembly, in modo che possa essere installata nella Global Assembly Cache e accessibile dal codice gestito nell'assembly. È possibile eseguire la stessa operazione in Assembly Linker. Per altre informazioni, vedere Al.exe (Assembly Linker) e Uso di assembly e della Global Assembly Cache.