Sdílet prostřednictvím


Konfigurace projektu pro výstup

Každá konfigurace může podporovat sadu procesů sestavení, které vytvářejí výstupní položky, jako jsou spustitelné soubory nebo soubory prostředků. Tyto výstupní položky jsou pro uživatele soukromé a mohou být umístěny ve skupinách, které propojují související typy výstupu, jako jsou spustitelné soubory (.exe, .dll, .lib) a zdrojové soubory (soubory .idl, .h).

Výstupní položky lze zpřístupnit prostřednictvím IVsOutput2 metod a vytvořit výčet metod IVsEnumOutputs . Pokud chcete seskupit výstupní položky, měl by projekt také implementovat IVsOutputGroup rozhraní.

Konstrukce vyvinutá implementací IVsOutputGroup umožňuje projektům seskupit výstupy podle využití. Knihovna DLL může být například seskupována s jeho programovou databází (PDB).

Poznámka:

Soubor PDB obsahuje informace o ladění a vytvoří se při zadání možnosti Generovat ladicí informace při vytváření .dll nebo .exe. Soubor .pdb se obvykle generuje pouze pro konfiguraci projektu ladění.

Projekt musí vrátit stejný počet skupin pro každou konfiguraci, kterou podporuje, i když se počet výstupů obsažených ve skupině může lišit od konfigurace až po konfiguraci. Knihovna DLL projektu může například zahrnovat mattd.dll a mattd.pdb v konfiguraci ladění, ale zahrnout pouze matt.dll v konfiguraci maloobchodního prodeje.

Skupiny mají také stejné informace o identifikátoru, jako je kanonický název, zobrazovaný název a informace o skupině, od konfigurace až po konfiguraci v rámci projektu. Tato konzistence umožňuje, aby nasazení a balení fungovalo i v případě, že se konfigurace změní.

Skupiny můžou mít také výstup klíče, který umožňuje, aby klávesové zkratky balíčků odkazovaly na něco smysluplného. Každá skupina může být v dané konfiguraci prázdná, takže byste neměli provádět žádné předpoklady týkající se velikosti skupiny. Velikost (počet výstupů) každé skupiny v jakékoli konfiguraci se může lišit od velikosti jiné skupiny ve stejné konfiguraci. Může se také lišit od velikosti stejné skupiny v jiné konfiguraci.

Obrázek Výstupní skupiny

Výstupní skupiny

Primárním použitím IVsProjectCfg rozhraní je poskytnout přístup k sestavení, nasazení a ladění objektů správy a umožnit projektům seskupit výstupy. Další informace o použití tohoto rozhraní naleznete v tématu Objekt konfigurace projektu.

V předchozím diagramu má skupina sestavený klíčový výstup mezi konfiguracemi (bD.exe nebo b.exe), aby uživatel mohl vytvořit zástupce pro sestavení a vědět, že zástupce bude fungovat bez ohledu na nasazenou konfiguraci. Zdroj skupiny nemá výstup klíče, takže uživatel nemůže vytvořit zástupce. Pokud má sestavená skupina ladění výstup klíče, ale skupina maloobchodního prodeje sestavena není, to by byla nesprávná implementace. Potom platí, že pokud má nějaká konfigurace skupinu, která neobsahuje žádné výstupy, a v důsledku toho žádný soubor klíče, pak jiné konfigurace s danou skupinou, které obsahují výstupy, nemohou obsahovat soubory klíčů. Editory instalačního programu předpokládají, že kanonické názvy a zobrazované názvy skupin a existence souboru klíče se nemění na základě konfigurací.

Všimněte si, že pokud má IVsOutputGroup projekt, který nechce zabalit nebo nasadit, stačí, abyste tento výstup neuložili do skupiny. Výstup je stále možné vyčíslit normálně implementací EnumOutputs metody, která vrací všechny výstupy konfigurace bez ohledu na seskupení.

Další informace naleznete v implementaci v ukázce vlastního IVsOutputGroup projektu v MPF for Projects.

Viz také