Winmdexp.exe (Strumento di esportazione di metadati di Windows Runtime)
Lo strumento di esportazione dei metadati di Windows Runtime (Winmdexp.exe) trasforma un modulo .NET Framework in un file che contiene metadati di Windows Runtime. Anche se gli assembly .NET Framework e i file di metadati di Windows Runtime usano lo stesso formato fisico, esistono differenze nel contenuto delle tabelle dei metadati, con la conseguenza che gli assembly .NET Framework non sono automaticamente utilizzabili come componenti di Windows Runtime. Il processo di trasformazione di un modulo .NET Framework in un componente di Windows Runtime è denominato esportazione. In .NET Framework 4.5 e 4.5.1 il file di metadati Windows (winmd) risultante contiene sia i metadati che l'implementazione.
Quando si usa il modello Componente Windows Runtime, disponibile in Windows Store per C# e Visual Basic in Visual Studio 2013 o Visual Studio 2012, la destinazione del compilatore è un file con estensione winmdobj. Un successivo passaggio di compilazione chiama Winmdexp.exe per esportare il file con estensione winmdobj in un file con estensione winmd. Questo è il modo consigliato di compilare un componente di Windows Runtime. Utilizzare direttamente Winmdexp.exe quando si desidera un maggiore controllo sul processo di compilazione rispetto a quello offerto da Visual Studio.
Viene installato automaticamente con Visual Studio. Per eseguire lo strumento, usare il prompt dei comandi per gli sviluppatori di Visual Studio o Visual Studio Developer PowerShell.
Al prompt dei comandi digitare quanto segue:
Sintassi
winmdexp [options] winmdmodule
Parametri
Argomento o opzione | Descrizione |
---|---|
winmdmodule |
Specifica il modulo (.winmdobj) da esportare. È consentito un solo modulo. Per creare questo modulo, utilizzare l'opzione del compilatore /target con destinazione winmdobj . Vedere -target:winmdobj (opzioni del compilatore C#) o -target (Visual Basic). |
/docfile: docfile /d: docfile |
Specifica il file di documentazione XML di output che verrà prodotto da Winmdexp.exe. In .NET Framework 4.5 il file di output è essenzialmente uguale al file di documentazione XML di input. |
/moduledoc: docfile /md: docfile |
Specifica il nome del file di documentazione XML che il compilatore ha creato con winmdmodule . |
/modulepdb: symbolfile /mp: symbolfile |
Specifica il nome del file del database di programma (PDB) contenente i simboli per winmdmodule . |
/nowarn: warning |
Non visualizza il numero di avviso specificato. Per warning, fornire solo la parte numerica del codice di errore, senza zeri iniziali. |
/out: file /o: file |
Specifica il nome del file di metadati di Windows (.winmd) di output. |
/pdb: symbolfile /p: symbolfile |
Specifica il nome del file del database di programma (PDB) di output che conterrà i simboli per il file di metadati di Windows (.winmd) esportato. |
/reference: winmd /r: winmd |
Specifica un file di metadati (.winmd o assembly) a cui fare riferimento durante l'esportazione. Se si usano gli assembly di riferimento in "\Programmi (x86)\Reference Assemblies\Microsoft\Framework\. NETCore\v4.5" ("\Programmi\..." nei computer a 32 bit), includere riferimenti sia a System.Runtime.dll che a mscorlib.dll. |
/utf8output |
Specifica che la codifica dei messaggi di output deve essere UTF-8. |
/warnaserror+ |
Specifica di considerare tutti gli avvisi come errori. |
@ responsefile |
Specifica un file di risposta (.rsp) contenente le opzioni (e facoltativamente winmdmodule ). Ogni riga in responsefile deve contenere un solo argomento o opzione. |
Osservazioni:
Winmdexp.exe non è progettato per convertire un assembly .NET Framework arbitrario in un file .winmd. Richiede un modulo compilato con l'opzione /target:winmdobj
e prevede delle restrizioni aggiuntive. La più importante di queste restrizioni è che tutti i tipi esposti nella superficie dell'API dell'assembly devono essere tipi di Windows Runtime. Per altre informazioni, vedere la sezione "Dichiarazione dei tipi nei componenti Windows Runtime" dell'articolo Creazione di componenti Windows Runtime in C# e Visual Basic.
Quando si scrive un'app di Windows 8.x Store o un componente Windows Runtime con C# o Visual Basic, .NET Framework fornisce il supporto per rendere più naturale la programmazione con Windows Runtime. Questo argomento viene illustrato nell'articolo Supporto .NET Framework per applicazioni Windows Store e Windows Runtime. Nel processo, alcuni tipi di uso comune di Windows Runtime vengono mappati ai tipi .NET Framework. Winmdexp.exe inverte questo processo e produce una superficie API che usa i tipi di Windows Runtime corrispondenti. Ad esempio, i tipi costruiti dall'interfaccia eseguono il IList<T> mapping ai tipi costruiti dall'interfaccia di Windows Runtime IVector<T> .
Vedi anche
- .NET Framework Support for Windows Store Apps and Windows Runtime (Supporto di .NET Framework per le app di Windows Store e Windows Runtime)
- Creazione di componenti Windows Runtime in C# e Visual Basic
- Messaggi di errore Winmdexp.exe
- Strumenti di compilazione, distribuzione e configurazione (.NET Framework)