Manifesti di applicazione per le soluzioni Office
Un manifesto di applicazione è un file XML che descrive gli assembly caricati in una soluzione Microsoft Office. Gli strumenti di sviluppo di Microsoft Office in Visual Studio utilizzano lo schema del manifesto di applicazione ClickOnce definito nel riferimento Manifesto dell'applicazione ClickOnce.
I manifesti di applicazione delle soluzioni Office utilizzano gli elementi e gli attributi ClickOnce seguenti.
Elemento |
Oggetto di descrizione |
Attributi |
---|---|---|
Obbligatoria. Elemento di primo livello. |
manifestVersion |
|
Obbligatoria. Identifica l'assembly primario dell'applicazione ClickOnce. |
name version publicKeyToken processorArchitecture language |
|
Identifica i requisiti di sicurezza dell'applicazione. |
Nessuna correzione |
|
Obbligatoria. Identifica il punto di ingresso del codice dell'applicazione per l'esecuzione. |
name dependencyName customHostSpecified |
|
Obbligatoria. Identifica ciascuna dipendenza richiesta per l'esecuzione dell'applicazione. Può anche identificare gli assembly che è necessario preinstallare. |
Nessuna correzione |
|
Obbligatoria. Identifica ciascun file non di assembly utilizzato dall'applicazione. Può includere i dati sull'isolamento COM (Component Object Model) associati al file. |
name size |
I manifesti di applicazione delle soluzioni Office presentano l'elemento seguente nello spazio dei nomi co.v1.
<entryPoint>
<co.v1:customHostSpecified />
</entryPoint>
Questi manifesti di applicazione presentano inoltre gli elementi e gli attributi seguenti nello spazio dei nomi vstav3.
<addIn>
<entryPointsCollection>
<entryPoints>
<entryPoint>
</entryPoint>
</entryPoints>
</entryPointsCollection>
<update></update>
<postActions>
<postAction>
<postActionData>
</postActionData>
<postAction>
</postActions>
<application>
<customizations>
<customization>
</customization>
</customizations>
</application
</addIn>
Elemento |
Oggetto di descrizione |
Attributi |
---|---|---|
Elemento <customHostSpecified> (sviluppo per Office in Visual Studio) |
Obbligatoria. Contrassegna specificatamente il manifesto come soluzione Office. |
Nessuna correzione |
Obbligatoria. Archivia i punti di ingresso in un solo spazio dei nomi. |
Nessuna correzione |
|
Elemento <entryPointsCollection> (sviluppo per Office in Visual Studio) |
Obbligatoria. Raggruppa tutti gli assembly di una o più soluzioni Office. |
id |
Elemento <entryPoints> (sviluppo per Office in Visual Studio) |
Obbligatoria. Raggruppa tutti gli assembly da eseguire in una soluzione Office. |
Nessuna correzione |
Elemento <entryPoint> (sviluppo per Office in Visual Studio) |
Obbligatoria. Identifica l'assembly da eseguire in una soluzione Office. |
class contract |
Obbligatoria. Configura gli aggiornamenti per la soluzione. |
enabled expiration |
|
Elemento <postActions> (sviluppo per Office in Visual Studio) |
Facoltativo. Raggruppa tutte le azioni post-distribuzione, ovvero azioni che vengono eseguite dopo l'installazione di soluzioni Office. |
Nessuna correzione |
Elemento <postAction> (sviluppo per Office in Visual Studio) |
Facoltativo. Identifica un'azione post-distribuzione. |
Nessuna correzione |
Elemento <postActionData> (sviluppo per Office in Visual Studio) |
Facoltativo. Configura i dati di un'azione post-distribuzione. |
Nessuna correzione |
Elemento <application> (sviluppo per Office in Visual Studio) |
Obbligatoria. Esegue il wrapping delle informazioni specifiche dell'applicazione in un solo nodo. |
Nessuna correzione |
Elemento <customizations> (sviluppo per Office in Visual Studio) |
Obbligatoria. Archivia le informazioni host specifiche di tutte le applicazioni in un spazio dei nomi separato. |
Nessuna correzione |
Elemento <customization> (sviluppo per Office in Visual Studio) |
Obbligatoria. Archivia le informazioni host specifiche dell'applicazione in un spazio dei nomi separato. |
xmlns |
Obbligorio solo per soluzioni a livello di documento. Archivia le informazioni specifiche della personalizzazione. |
solutionId |
|
Obbligorio solo per soluzioni a livello di applicazione. Archivia le informazioni specifiche della personalizzazione. |
application loadBehavior keyName |
|
Elemento <friendlyName> (sviluppo per Office in Visual Studio) |
Facoltativo. Archivia il nome del componente aggiuntivo che viene visualizzato nell'elenco di componenti aggiuntivi installati. |
Nessuna correzione |
Elemento <description> (sviluppo per Office in Visual Studio) |
Obbligatorio solo per componenti aggiuntivi a livello di applicazione. Archivia la descrizione che viene visualizzata nell'elenco dei programmi installati. |
Nessuna correzione |
Elemento <formRegions> (sviluppo per Office in Visual Studio) |
Obbligatorio solo per componenti aggiuntivi Outlook 2007 che includono aree di modulo. |
Nessuna correzione |
Elemento <formRegion> (sviluppo per Office in Visual Studio) |
Obbligatorio solo per componenti aggiuntivi Outlook 2007 che includono aree di modulo. |
Name |
Elemento <vstoRuntime> (sviluppo per Office in Visual Studio) |
Obbligatoria. Descrive una versione specifica del runtime di Visual Studio Tools per Office supportata dalla soluzione Office. |
release version supportUrl |
Note
È possibile modificare manualmente i manifesti di applicazione e di distribuzione nelle soluzioni Office. In seguito, tali manifesti devono essere firmati nuovamente tramite lo Strumento per la generazione e la modifica di manifesti (mage.exe e mageui.exe). Per ulteriori informazioni, vedere Procedura: ripetere la firma dei manifesti dell'applicazione e di distribuzione.
Percorso file
Un manifesto di applicazione è specifico per una singola versione di una soluzione. Per questo motivo, i manifesti dell'applicazione devono essere memorizzati separatamente da quelli di distribuzione. Visual Studio copia i file specifici della versione in una sottodirectory chiamata dopo la versione associata nella sottodirectory File applicazione nella cartella di pubblicazione.
Sintassi del nome file
Il nome di un file manifesto dell'applicazione deve essere composto dal nome completo e dall'estensione dell'applicazione identificati nell'elemento assemblyIdentity, seguiti dall'estensione manifest. Un manifesto di applicazione che faccia riferimento, ad esempio, alla personalizzazione OutlookAddIn1.dll avrà il seguente nome file.
OutlookAddIn1.dll.manifest
Esempio di personalizzazione a livello di documento
Oggetto di descrizione
Nell'esempio di codice seguente vengono illustrate le sezioni presenti in un manifesto dell'applicazione relativo a una soluzione Visual Studio Tools per Office. In questo esempio viene descritta una personalizzazione a livello di documento di Microsoft Office Excel 2007.
Codice
<entryPoint>
<co.v1:customHostSpecified />
</entryPoint>
[...]
<vstav3:addIn
xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
<vstav3:entryPointsCollection>
<vstav3:entryPoints>
<vstav3:entryPoint
class="ContosoExcelWorkbook.ThisWorkbook">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet1">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet2">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet3">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
</vstav3:entryPoints>
</vstav3:entryPointsCollection>
<vstav3:update
enabled="true">
<vstav3:expiration
maximumAge="7"
unit="days" />
</vstav3:update>
<vstav3:application>
<vstov4:customizations
xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
<vstov4:customization>
<vstov4:document
solutionId="73e" />
</vstov4:customization>
</vstov4:customizations>
</vstav3:application>
</vstav3:addIn>
Esempio di componente aggiuntivo a livello di applicazione
Oggetto di descrizione
Nell'esempio di codice seguente vengono illustrate le sezioni presenti in un manifesto dell'applicazione relativo a una soluzione Visual Studio Tools per Office. In questo esempio viene descritto un componente aggiuntivo a livello di applicazione di Microsoft Office Outlook 2007 che include un'area di modulo.
Codice
<entryPoint>
<co.v1:customHostSpecified />
</entryPoint>
[...]
<vstav3:addIn
xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
<vstav3:entryPointsCollection>
<vstav3:entryPoints>
<vstav3:entryPoint
class="ContosoOutlookAddIn.ThisAddIn">
<assemblyIdentity
name="ContosoOutlookAddIn"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
</vstav3:entryPoints>
</vstav3:entryPointsCollection>
<vstav3:update
enabled="true">
<vstav3:expiration
maximumAge="7"
unit="days" />
</vstav3:update>
<vstav3:application>
<vstov4:customizations
xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
<vstov4:customization>
<vstov4:appAddIn
application="Outlook"
loadBehavior="3"
keyName="ContosoOutlookAddIn">
<vstov4:friendlyName>
ContosoOutlookAddIn
</vstov4:friendlyName>
<vstov4:description>
ContosoOutlookAddIn - Outlook add-in
created with Visual Studio Tools for Office
</vstov4:description>
<vstov4:formRegions>
<vstov4:formRegion
name="OutlookAddIn1.FormRegion1">
<vstov4:messageClass name="IPM.Note" />
<vstov4:messageClass name="IPM.Contact" />
<vstov4:messageClass name="IPM.Appointment" />
</vstov4:formRegion>
</vstov4:formRegions>
</vstov4:appAddIn>
</vstov4:customization>
</vstov4:customizations>
</vstav3:application>
</vstav3:addIn>
Esempio di distribuzione composta da più progetti
Oggetto di descrizione
Nell'esempio di codice seguente vengono illustrate le sezioni presenti in un manifesto dell'applicazione relativo a una soluzione Visual Studio Tools per Office. In questo esempio viene descritta una distribuzione composta da più progetti che installa un componente aggiuntivo a livello di applicazione di Microsoft Outlook 2007 con un'area di modulo e una personalizzazione a livello di documento di Microsoft Excel 2007.
Codice
<entryPoint>
<co.v1:customHostSpecified />
</entryPoint>
[...]
<dependency>
<dependentAssembly
dependencyType="install"
allowDelayedBinding="true"
codebase="ContosoExcelWorkbook.dll"
size="12800">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm=
"urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm=
"http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>ONF</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly
dependencyType="install"
allowDelayedBinding="true"
codebase="ContosoOutlookAddIn.dll"
size="10240">
<assemblyIdentity
name="ContosoOutlookAddIn"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm=
"urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm=
"http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>i4e</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<vstav3:addIn
xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
<vstav3:entryPointsCollection>
<vstav3:entryPoints
id="ContosoExcel">
<vstav3:entryPoint
class="ContosoExcelWorkbook.ThisWorkbook">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet1">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet2">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:entryPoint
class="ContosoExcelWorkbook.Sheet3">
<assemblyIdentity
name="ContosoExcelWorkbook"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
</vstav3:entryPoints>
<vstav3:entryPoints
id="ContosoOutlook">
<vstav3:entryPoint
class="ContosoOutlookAddIn.ThisAddIn">
<assemblyIdentity
name="ContosoOutlookAddIn"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
</vstav3:entryPoints>
</vstav3:entryPointsCollection>
<vstav3:update
enabled="true">
<vstav3:expiration
maximumAge="7"
unit="days" />
</vstav3:update>
<vstav3:application>
<vstov4:customizations
xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
<vstov4:customization
id="ContosoExcel">
<vstov4:document
solutionId="73ec4ba9-a983-40b3-af63-5fb172ea81db" />
</vstov4:customization>
<vstov4:customization
id="ContosoOutlook">
<vstov4:appAddIn
application="Outlook"
loadBehavior="3"
keyName="ContosoOutlookAddIn">
<vstov4:friendlyName>
ContosoOutlookAddIn
</vstov4:friendlyName>
<vstov4:description>
ContosoOutlookAddIn - Outlook add-in created with
Visual Studio Tools for Office
</vstov4:description>
</vstov4:appAddIn>
</vstov4:customization>
</vstov4:customizations>
</vstav3:application>
</vstav3:addIn>
Esempio di azioni post-distribuzione
Oggetto di descrizione
Nell'esempio di codice seguente vengono illustrate le sezioni presenti in un manifesto dell'applicazione relativo a una soluzione Visual Studio Tools per Office. In questo esempio viene descritta un'azione post-distribuzione che crea una chiave del Registro di sistema al termine dell'installazione.
Codice
<vstav3:postActions>
<vstav3:postAction>
<vstav3:entryPoint
class="PostDeploymentAction.PostDeploymentActionSample">
<assemblyIdentity
name="PostDeploymentAction"
version="1.0.0.0"
language="neutral"
processorArchitecture="msil" />
</vstav3:entryPoint>
<vstav3:postActionData>
</vstav3:postActionData>
</vstav3:postAction>
</vstav3:postActions>