Exemplarische Vorgehensweise: Einbetten von Typinformationen aus Microsoft Office-Assemblys in Visual Studio (C#)Walkthrough: Embedding Type Information from Microsoft Office Assemblies in Visual Studio (C#)

Wenn Sie Typinformationen in eine Anwendung einbetten, die auf COM-Objekte verweist, ist die Verwendung einer primären Interopassembly (PIA) nicht mehr erforderlich.If you embed type information in an application that references COM objects, you can eliminate the need for a primary interop assembly (PIA). Darüber hinaus wird die Anwendung durch die eingebetteten Typinformationen versionsunabhängig.Additionally, the embedded type information enables you to achieve version independence for your application. Ihr Programm kann daher für Typen aus unterschiedlichen Versionen einer COM-Bibliothek geschrieben werden; eine versionsspezifische PIA ist nicht erforderlich.That is, your program can be written to use types from multiple versions of a COM library without requiring a specific PIA for each version. Dies ist ein allgemeines Szenario für Anwendungen, die Objekte aus Microsoft Office-Bibliotheken verwenden.This is a common scenario for applications that use objects from Microsoft Office libraries. Mithilfe von eingebetteten Typinformationen kann ein Build eines Programms verschiedene Versionen von Microsoft Office auf unterschiedlichen Computern verwenden, ohne dass das Programm oder die PIA für jede Version von Microsoft Office erneut bereitgestellt werden müssen.Embedding type information enables the same build of a program to work with different versions of Microsoft Office on different computers without the need to redeploy either the program or the PIA for each version of Microsoft Office.

Hinweis

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten.Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig.The Visual Studio edition that you have and the settings that you use determine these elements. Weitere Informationen finden Sie unter Personalisieren der IDE.For more information, see Personalizing the IDE.

Erforderliche KomponentenPrerequisites

Für diese exemplarische Vorgehensweise wird Folgendes vorausgesetzt:This walkthrough requires the following:

  • Ein Computer, auf dem Visual Studio und Microsoft Excel installiert sind.A computer on which Visual Studio and Microsoft Excel are installed.

  • Ein zweiter Computer, auf dem .NET Framework 4 oder höher und eine andere Version von Excel installiert sind.A second computer on which the .NET Framework 4 or higher and a different version of Excel are installed.

So erstellen Sie eine Anwendung, die mit mehreren Versionen von Microsoft Office kompatibel istTo create an application that works with multiple versions of Microsoft Office

  1. Starten Sie Visual Studio auf einem Computer, auf dem Excel installiert ist.Start Visual Studio on a computer on which Excel is installed.

  2. Wählen Sie im Menü Datei die Optionsfolge Neu, Projektaus.On the File menu, choose New, Project.

  3. Überprüfen Sie, ob im Dialogfeld Neues Projekt im Bereich Projekttypen der Eintrag Windows ausgewählt ist.In the New Project dialog box, in the Project Types pane, make sure that Windows is selected. Wählen Sie im Bereich Vorlagen die Option Konsolenanwendung aus.Select Console Application in the Templates pane. Geben Sie im Feld Name CreateExcelWorkbook ein, und wählen Sie dann die Schaltfläche OK aus.In the Name box, enter CreateExcelWorkbook, and then choose the OK button. Das neue Projekt wird erstellt.The new project is created.

  4. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Ordner Verweise, und wählen Sie dann Verweis hinzufügen aus.In Solution Explorer, open the shortcut menu for the References folder and then choose Add Reference.

  5. Wählen Sie auf der Registerkarte .NET die aktuellste Version von Microsoft.Office.Interop.Excel aus.On the .NET tab, choose the most recent version of Microsoft.Office.Interop.Excel. Beispiel: Microsoft.Office.Interop.Excel 14.0.0.0.For example, Microsoft.Office.Interop.Excel 14.0.0.0. Klicken Sie auf die Schaltfläche OK .Choose the OK button.

  6. Wählen Sie in der Liste der Verweise für das CreateExcelWorkbook-Projekt den Verweis für Microsoft.Office.Interop.Excel aus, den Sie im vorherigen Schritt hinzugefügt haben.In the list of references for the CreateExcelWorkbook project, select the reference for Microsoft.Office.Interop.Excel that you added in the previous step. Vergewissern Sie sich, dass die Embed Interop Types-Eigenschaft im Fester Eigenschaften auf True festgelegt ist.In the Properties window, make sure that the Embed Interop Types property is set to True.

    Hinweis

    Die in dieser exemplarischen Vorgehensweise erstellte Anwendung kann aufgrund der eingebetteten Interop-Typinformationen mit verschiedenen Versionen von Microsoft Office ausgeführt werden.The application created in this walkthrough runs with different versions of Microsoft Office because of the embedded interop type information. Wenn die Embed Interop Types-Eigenschaft auf False festgelegt ist, müssen Sie eine PIA für jede Version von Microsoft Office einschließen, mit der die Anwendung ausgeführt wird.If the Embed Interop Types property is set to False, you must include a PIA for each version of Microsoft Office that the application will run with.

  7. Öffnen Sie die Datei Program.cs.Open the Program.cs file. Ersetzen Sie den Code in der Datei durch den folgenden Code:Replace the code in the file with the following code:

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.IO;  
    using Excel = Microsoft.Office.Interop.Excel;  
    
    namespace CreateExcelWorkbook  
    {  
        class Program  
        {  
            static void Main(string[] args)  
            {  
                int[] values = {4, 6, 18, 2, 1, 76, 0, 3, 11};  
    
                CreateWorkbook(values, @"C:\SampleFolder\SampleWorkbook.xls");  
            }  
    
            static void CreateWorkbook(int[] values, string filePath)  
            {  
                Excel.Application excelApp = null;  
                Excel.Workbook wkbk;  
                Excel.Worksheet sheet;  
    
                try  
                {  
                        // Start Excel and create a workbook and worksheet.  
                        excelApp = new Excel.Application();  
                        wkbk = excelApp.Workbooks.Add();  
                        sheet = wkbk.Sheets.Add() as Excel.Worksheet;  
                        sheet.Name = "Sample Worksheet";  
    
                        // Write a column of values.  
                        // In the For loop, both the row index and array index start at 1.  
                        // Therefore the value of 4 at array index 0 is not included.  
                        for (int i = 1; i < values.Length; i++)  
                        {  
                            sheet.Cells[i, 1] = values[i];  
                        }  
    
                        // Suppress any alerts and save the file. Create the directory   
                        // if it does not exist. Overwrite the file if it exists.  
                        excelApp.DisplayAlerts = false;  
                        string folderPath = Path.GetDirectoryName(filePath);  
                        if (!Directory.Exists(folderPath))  
                        {  
                            Directory.CreateDirectory(folderPath);  
                        }  
                        wkbk.SaveAs(filePath);  
                }  
                catch  
                {  
                }  
                finally  
                {  
                    sheet = null;  
                    wkbk = null;  
    
                    // Close Excel.  
                    excelApp.Quit();  
                    excelApp = null;  
                }  
            }  
        }  
    }  
    
  8. Speichern Sie das Projekt.Save the project.

  9. Drücken Sie STRG+F5, um das Projekt zu erstellen und auszuführen.Press CTRL+F5 to build and run the project. Überprüfen Sie, ob eine Excel-Arbeitsmappe an dem Speicherort erstellt wurde, der im Beispielcode angegebenen ist: C:\SampleFolder\SampleWorkbook.xls.Verify that an Excel workbook has been created at the location specified in the example code: C:\SampleFolder\SampleWorkbook.xls.

So veröffentlichen Sie die Anwendung auf einem Computer, auf dem eine andere Version von Microsoft Office installiert istTo publish the application to a computer on which a different version of Microsoft Office is installed

  1. Öffnen Sie das Projekt, das Sie in dieser exemplarischen Vorgehensweise erstellt haben, in Visual Studio.Open the project created by this walkthrough in Visual Studio.

  2. Wählen Sie im Menü Erstellen die Option CreateExcelWorkbook veröffentlichen aus.On the Build menu, choose Publish CreateExcelWorkbook. Führen Sie die Schritte des Webpublishing-Assistenten aus, um eine installierbare Version der Anwendung zu erstellen.Follow the steps of the Publish Wizard to create an installable version of the application. Weitere Informationen finden Sie unter Veröffentlichungs-Assistent (Office-Entwicklung in Visual Studio).For more information, see Publish Wizard (Office Development in Visual Studio).

  3. Installieren Sie die Anwendung auf einem Computer, auf dem .NET Framework 4 oder höher und eine andere Version von Excel installiert sind.Install the application on a computer on which the .NET Framework 4 or higher and a different version of Excel are installed.

  4. Führen Sie das installierte Programm aus, sobald die Installation abgeschlossen ist.When the installation is finished, run the installed program.

  5. Überprüfen Sie, ob eine Excel-Arbeitsmappe an dem Speicherort erstellt wurde, der im Beispielcode angegebenen ist: C:\SampleFolder\SampleWorkbook.xls.Verify that an Excel workbook has been created at the location specified in the sample code: C:\SampleFolder\SampleWorkbook.xls.

Siehe auchSee Also

Exemplarische Vorgehensweise: Einbetten von Typen aus verwalteten Assemblys in Visual Studio (c#)Walkthrough: Embedding Types from Managed Assemblies in Visual Studio (C#)
-link (C#-Compileroptionen)/link (C# Compiler Options)