Modifiche alla progettazione dei progetti di Office destinati a .NET Framework 4

In Visual Studio 2010 sono state introdotte alcune modifiche alla progettazione dei progetti di Office destinati a .NET Framework 4. Se si ha dimestichezza con i progetti di Office delle versioni precedenti di Visual Studio, è necessario tenere presente queste modifiche prima di sviluppare progetti di Office destinati a .NET Framework 4. Se si dispone di un progetto esistente da aggiornare per essere destinato a .NET Framework 4, è necessario tenere presente diverse sostanziali modifiche.

Informazioni sulla progettazione basata sull'interfaccia di Visual Studio 2010 Tools for Office Runtime

Quando si sviluppa un progetto di Office destinato a .NET Framework 4, la maggior parte dei tipi utilizzati in Visual Studio 2010 Tools per Office Runtime sono interfacce. Questa è una delle modifiche più rilevanti rispetto alle versioni precedenti di Runtime di Visual Studio Tools per Office, in cui questi tipi sono classi. Ad esempio, se la destinazione è .NET Framework 4, i tipi Worksheet e Document sono interfacce anziché classi. Per ulteriori informazioni, vedere Cenni preliminari su Visual Studio Tools per Office Runtime.

Per i tipi per cui è possibile creare direttamente istanze nelle versioni precedenti di Runtime di Visual Studio Tools per Office, si utilizzano ora i metodi dell'oggetto Globals.Factory per ottenere le istanze di questi tipi. Ad esempio, per ottenere un oggetto che implementa l'interfaccia SmartTag, utilizzare il metodo Globals.Factory.CreateSmartTag. Per ulteriori informazioni, vedere i seguenti argomenti:

Nuove classi base nei progetti di Office

La nuova progettazione basata sull'interfaccia di Visual Studio 2010 Tools per Office Runtime influisce sulle classi generate nei progetti di Office, ad esempio ThisDocument, ThisWorkbook e ThisAddIn. Nei progetti di Office destinati a .NET Framework 3.5 e a versioni precedenti del framework, questi metodi generati derivano dalle classi in Runtime di Visual Studio Tools per Office such as Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet e Microsoft.Office.Tools.AddIn. Nei progetti destinati a .NET Framework 4 queste classi di Runtime di Visual Studio Tools per Office sono ora interfacce. Pertanto le classi generate nei progetti di Office non possono derivare da esse la loro implementazione. Al contrario, le classi generate derivano dalle nuove classi di base quali DocumentBase, WorksheetBase e AddInBase. Per ulteriori informazioni, vedere Programmazione di componenti aggiuntivi a livello di applicazione e Programmazione delle personalizzazioni a livello di documento.

Le classi di base non fanno parte del Runtime di Visual Studio Tools per Office ridistribuibile. Al contrario, vengono definite negli assembly delle utilità inclusi in Visual Studio 2010. Questi assembly vengono copiati nella cartella di output quando si compilano progetti di Office e devono essere distribuiti con la soluzione. Per ulteriori informazioni sugli assembly delle utilità, vedere Assembly nel runtime di Visual Studio Tools per Office.

Modifiche sostanziali nei progetti di Office reindirizzati a .NET Framework 4

Nella tabella seguente vengono elencate alcune delle principali modifiche che è possibile trovare in progetti di Office reindirizzati a .NET Framework 4. Per ulteriori informazioni, vedere Migrazione di soluzioni Office a .NET Framework 4.

Breaking Change

Conseguenza

SecurityTransparentAttribute non viene più utilizzato o supportato nei progetti di Office.

È necessario rimuovere questo attributo dal file di codice AssemblyInfo nei progetti di Office aggiornati da Visual Studio 2008. Per ulteriori informazioni, vedere Modifiche necessarie per l'esecuzione di progetti di Office migrati a .NET Framework 4.

ExcelLocale1033Attribute non viene più utilizzato o supportato nei progetti di Excel.

È necessario rimuovere questo attributo dal file di codice AssemblyInfo nei progetti di Excel. Per ulteriori informazioni, vedere Aggiornamento di progetti di Excel e Word di cui si esegue la migrazione a .NET Framework 4.

Il modello di programmazione degli elementi del progetto di Barra multifunzione (finestra di progettazione visiva) è stato modificato.

È necessario modificare il file code-behind per qualsiasi elemento della barra multifunzione nel progetto. È inoltre necessario modificare il codice che crea un'istanza dei controlli barra multifunzione in fase di esecuzione, gestisce eventi della barra multifunzione o imposta la posizione di un componente della barra multifunzione a livello di codice. Per ulteriori informazioni, vedere Aggiornamento delle personalizzazioni della barra multifunzione nei progetti di Office di cui si esegue la migrazione a .NET Framework 4.

Il modello di programmazione delle aree di modulo di Outlook è stato modificato.

È necessario modificare il file code-behind per qualsiasi area di modulo nel progetto e qualsiasi codice che crea istanze di alcune classi di aree di modulo durante la fase di esecuzione. Per ulteriori informazioni, vedere Aggiornamento di aree del modulo in progetti Outlook di cui si esegue la migrazione a .NET Framework 4.

Il modello di programmazione per gli smart tag nei progetti di Excel e Word è stato modificato. Gli smart tag sono deprecati in Excel 2010 e Word 2010. Per ulteriori informazioni, vedere Cenni preliminari sugli smart tag.

È necessario modificare qualsiasi codice che crea oggetti smart tag e azione e il codice che definisce un sistema di riconoscimento degli smart tag personalizzato. Per ulteriori informazioni, vedere Aggiornamento di progetti di Excel e Word di cui si esegue la migrazione a .NET Framework 4.

La sintassi dei metodi GetVstoObject e HasVstoObject è stata modificata

È necessario passare l'oggetto Globals.Factory a questi metodi durante l'accesso negli oggetti nativi dagli assembly di interoperabilità primari oppure è possibile accedere a questi metodi nell'oggetto restituito dalla proprietà Globals.Factory nel progetto. Per ulteriori informazioni, vedere Aggiornamento di progetti di Excel e Word di cui si esegue la migrazione a .NET Framework 4.

Gli eventi dei controlli del contenuto di Word vengono associati ai nuovi delegati.

Per specificare i nuovi delegati, è necessario modificare qualsiasi codice che gestisce gli eventi dei controlli del contenuto di Word. Per ulteriori informazioni, vedere Aggiornamento di progetti di Excel e Word di cui si esegue la migrazione a .NET Framework 4.

Le classi OLEObject e OLEControl sono state rinominate.

È necessario modificare qualsiasi codice che utilizza le istanze di queste classi per utilizzare invece gli oggetti Microsoft.Office.Tools.Excel.ControlSite o Microsoft.Office.Tools.Word.ControlSite. Per ulteriori informazioni, vedere Aggiornamento di progetti di Excel e Word di cui si esegue la migrazione a .NET Framework 4.

Le classi dell'elemento host (quali ThisWorkbook, Sheetn, ThisDocument e ThisAddIn) non forniscono più un metodo Dispose di cui è possibile eseguire l'override.

È necessario spostare tutto il codice dell'override del metodo Dispose al gestore eventi Shutdown nella classe dell'elemento host (ad esempio ThisAddIn_Shutdown) e rimuovere l'override del metodo Dispose dalla classe dell'elemento host.

Vedere anche

Concetti

Migrazione di soluzioni Office a .NET Framework 4

Novità dello sviluppo Office

Cenni preliminari su Visual Studio Tools per Office Runtime

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2010

Aggiunte informazioni sulla rimozione del metodo Dispose in progetti destinati a .NET Framework 4.

Miglioramento delle informazioni.