Vícesouborová sestaveníMultifile assemblies

Můžete vytvořit vícesouborové sestavení, která cílí na .NET Framework pomocí kompilátorů příkazového řádku nebo sady Visual Studio s C++Visual.You can create multifile assemblies that target the .NET Framework using command-line compilers or Visual Studio with Visual C++. Jeden soubor v sestavení musí obsahovat manifest sestavení.One file in the assembly must contain the assembly manifest. Sestavení, které spouští aplikaci, musí obsahovat také vstupní bod, jako je například Main nebo WinMain metoda.An assembly that starts an application must also contain an entry point, such as a Main or WinMain method.

Předpokládejme například, že máte aplikaci, která obsahuje dva kódové moduly, Client.cs a Stringer.cs.For example, suppose you have an application that contains two code modules, Client.cs and Stringer.cs. Stringer.cs vytvoří obor názvů myStringer, na který se odkazuje v kódu v Client.cs.Stringer.cs creates the myStringer namespace that is referenced by the code in Client.cs. Client.cs obsahuje metodu Main, což je vstupní bod aplikace.Client.cs contains the Main method, which is the application's entry point. V tomto příkladu kompilujete dva kódové moduly a pak vytvoříte třetí soubor, který obsahuje manifest sestavení, který spouští aplikaci.In this example, you compile the two code modules, and then create a third file that contains the assembly manifest, which launches the application. Manifest sestavení odkazuje jak na moduly klienta , tak pro Stringer .The assembly manifest references both the Client and Stringer modules.

Poznámka

Vícesouborové sestavení může mít pouze jeden vstupní bod, a to i v případě, že sestavení má více kódových modulů.Multifile assemblies can have only one entry point, even if the assembly has multiple code modules.

Existuje několik důvodů, proč je vhodné vytvořit vícesouborové sestavení:There are several reasons you might want to create a multifile assembly:

  • Pro kombinování modulů napsaných v různých jazycích.To combine modules written in different languages. Toto je nejběžnější důvod pro vytvoření vícesouborového sestavení.This is the most common reason for creating a multifile assembly.

  • Chcete-li optimalizovat stahování aplikace v modulu, který je stažen pouze v případě potřeby, a to pomocí zřídka používaných typů.To optimize downloading an application by putting seldom-used types in a module that is downloaded only when needed.

    Poznámka

    Pokud vytváříte aplikace, které budou staženy pomocí značky <object> v aplikaci Microsoft Internet Explorer, je důležité vytvořit vícesouborové sestavení.If you are creating applications that will be downloaded using the <object> tag with Microsoft Internet Explorer, it is important that you create multifile assemblies. V tomto scénáři vytvoříte soubor oddělený od modulů kódu, který obsahuje pouze manifest sestavení.In this scenario, you create a file separate from your code modules that contains only the assembly manifest. Internet Explorer nejprve stáhne manifest sestavení a poté vytvoří pracovní vlákna ke stažení jakýchkoli dalších modulů nebo sestavení potřebných pro.Internet Explorer downloads the assembly manifest first, and then creates worker threads to download any additional modules or assemblies required. Při stahování souboru obsahujícího manifest sestavení přestane Internet Explorer reagovat na vstup uživatele.While the file containing the assembly manifest is being downloaded, Internet Explorer will be unresponsive to user input. Menší soubor, který obsahuje manifest sestavení, méně času přestane Internet Explorer reagovat.The smaller the file containing the assembly manifest, the less time Internet Explorer will be unresponsive.

  • Pro kombinování kódových modulů napsaných několika vývojáři.To combine code modules written by several developers. I když každý z vývojářů může kompilovat modul kódu do sestavení, může to vynutit, aby některé typy byly veřejně vystaveny, které nejsou vystaveny, pokud jsou všechny moduly vloženy do vícesouborového sestavení.Although each developer can compile each code module into an assembly, this can force some types to be exposed publicly that are not exposed if all modules are put into a multifile assembly.

Po vytvoření sestavení můžete podepsat soubor, který obsahuje manifest sestavení, a sestavení, nebo můžete soubor a sestavení přidělit silný název a vložit je do globální mezipaměti sestavení (GAC).Once you create the assembly, you can sign the file that contains the assembly manifest, and hence the assembly, or you can give the file and the assembly a strong name and put it in the global assembly cache.

Viz také:See also