Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aktivace bez registrace pro komponenty založené na rozhraní .NET Framework je pouze o něco složitější, než je u komponent modelu COM. Nastavení vyžaduje dva manifesty:
Aplikace modelu COM musí mít manifest aplikace ve stylu Win32, aby bylo možné identifikovat spravovanou komponentu.
Komponenty založené na rozhraní .NET Framework musí mít manifest komponenty pro informace o aktivaci potřebné za běhu.
Toto téma popisuje, jak přidružit manifest aplikace k aplikaci; přidružit manifest komponenty ke komponentě; a vložit manifest komponenty do sestavení.
Vytvoření manifestu aplikace
Pomocí editoru XML vytvořte (nebo upravte) manifest aplikace vlastněný aplikací COM, která spolupracuje s jednou nebo více spravovanými komponentami.
Na začátek souboru vložte následující standardní hlavičku:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>Informace o prvcích manifestu a jejich atributech naleznete v tématu Manifesty aplikace.
Identifikujte vlastníka manifestu. V následujícím příkladu
myComAppverze 1 vlastní soubor manifestu.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="msil" /> </assembly>Identifikujte závislé sestavy V následujícím příkladu
myComAppzávisí namyManagedComp.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="x86" publicKeyToken="8275b28176rcbbef" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="myOrganization.myDivision.myManagedComp" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="8275b28176rcbbef" /> </dependentAssembly> </dependency> </assembly>Uložte a pojmenujte soubor manifestu. Název manifestu aplikace je název spustitelného souboru sestavení následovaného příponou .manifest. Například název souboru manifestu aplikace pro myComApp.exe je myComApp.exe.manifest.
Manifest aplikace můžete nainstalovat do stejného adresáře jako COM aplikace. Alternativně ho můžete přidat jako zdroj do souboru .exe aplikace. Další informace naleznete v tématu O souběžných sestaveních.
Vytvoření manifestu komponenty
Pomocí editoru XML vytvořte manifest komponenty, který popisuje spravované sestavení.
Na začátek souboru vložte následující standardní hlavičku:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>Identifikujte vlastníka souboru. Prvek
<assemblyIdentity>elementu<dependentAssembly>v souboru manifestu aplikace musí odpovídat prvku v manifestu komponenty. V následujícím příkladu verze 1.2.3.4 vlastní soubor manifestumyManagedComp.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" processorArchitecture="msil" /> </assembly>Identifikujte každou třídu v sestavení. Pomocí elementu
<clrClass>jednoznačně identifikujte každou třídu ve spravovaném sestavení. Element, který je dílčím prvkem elementu<assembly>, má atributy popsané v následující tabulce.Vlastnost Description Povinné clsidIdentifikátor, který určuje třídu, která se má aktivovat. Ano descriptionŘetězec, který uživatele informuje o komponentě. Výchozí hodnota je prázdný řetězec. Ne nameŘetězec, který reprezentuje spravovanou třídu. Ano progidIdentifikátor, který se má použít pro opožděnou aktivaci. Ne threadingModelModel vláken COM "Obě" je výchozí hodnota. Ne runtimeVersionUrčuje verzi modulu CLR (Common Language Runtime), která se má použít. Pokud tento atribut nezadáte a modul CLR ještě není načten, komponenta se načte s nejnovější nainstalovanou verzí CLR před verzí 4 CLR. Pokud zadáte verzi v1.0.3705, v1.1.4322 nebo v2.0.50727, verze se automaticky přepojí na nejnovější nainstalovanou verzi CLR před CLR verze 4 (obvykle v2.0.50727). Pokud je již načtena jiná verze CLR a zadaná verze se dá načíst souběžně v procesu, načte se zadaná verze; v opačném případě se použije načtený modul CLR. To může způsobit selhání zatížení. Ne tlbidIdentifikátor knihovny typů, která obsahuje informace o typu třídy. Ne U všech značek atributů se rozlišují malá a velká písmena. Můžete získat CLSIDy, ProgIDy, modely vláken a verzi prostředí runtime zobrazením knihovny exportovaných typů pro sestavení pomocí nástroje OLE/COM Object Viewer (Oleview.exe).
Následující manifest komponenty identifikuje dvě třídy
testClass1atestClass2.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" /> <clrClass clsid="{65722BE6-3449-4628-ABD3-74B6864F9739}" progid="myManagedComp.testClass1" threadingModel="Both" name="myManagedComp.testClass1" runtimeVersion="v1.0.3705"> </clrClass> <clrClass clsid="{367221D6-3559-3328-ABD3-45B6825F9732}" progid="myManagedComp.testClass2" threadingModel="Both" name="myManagedComp.testClass2" runtimeVersion="v1.0.3705"> </clrClass> <file name="MyManagedComp.dll"> </file> </assembly>Uložte a pojmenujte soubor manifestu. Název manifestu komponenty je název knihovny sestavení následovaný příponou .manifest. Například myManagedComp.dll je myManagedComp.manifest.
Manifest komponenty je nutné vložit jako prostředek do sestavení.
Vložení manifestu komponenty do spravovaného sestavení
Vytvořte skript prostředku, který obsahuje následující příkaz:
1 RT_MANIFEST myManagedComp.manifestV tomto příkazu
myManagedComp.manifestje název vloženého manifestu komponenty. V tomto příkladu jemyresource.rcnázev souboru skriptu .Zkompilujte skript pomocí kompilátoru prostředků systému Microsoft Windows (Rc.exe). Na příkazovém řádku zadejte následující příkaz:
rc myresource.rcRc.exe vytvoří
myresource.ressoubor prostředků.Zkompilujte zdrojový soubor sestavení znovu a zadejte soubor prostředku pomocí možnosti /win32res :
/win32res:myresource.resOpět je
myresource.resnázev souboru prostředků, který obsahuje vložené prostředky.