Sestavení řešení v době návrhu
Existuje společný mylná, že přidání odkazu na sestavení pomocí karty .NET přidat odkaz dialogové okno odkazuje na sestavení v globální mezipaměti sestavení (GAC).Toto není případ.Manuál použitelnými k sestavení dílčí odkaz, sestavení, která obsahuje všechny informace typu a podpis, ale který nemusí obsahovat žádný kód.Karta .NET obsahuje odkaz na sestavení, které odpovídají runtime sestavení v rozhraní.NET Framework.Kromě toho obsahuje odkaz na sestavení, které odpovídají runtime sestavení ve složce registrované AssemblyFoldersEx využívány třetími stranami.
Cílení na více verzí
Visual Studio 2012 umožňuje cílová verze rozhraní.NET Framework, který spustit buď na CLR Common Language Runtime () verze 2.0 nebo verze 4.Jedná se o rozhraní.NET Framework verze 2.0, 3.0, 3.5, 4 a 4.5 a verze programu Silverlight 1.0, 2.0 a 3.0.Pokud nová verze rozhraní.NET Framework, který je založen na CLR verze 2.0 nebo vydání verze 4, rozhraní Framework lze nainstalovat pomocí cílení pack a automaticky zobrazí jako cíl v sadě Visual Studio.
Princip řešení typu
Za běhu řeší CLR typy v sestavení pohledem v GAC adresáře bin a všechny cesty, zjišťování.To má na starosti fúze loader.Ale jak fusion loader zná co hledají?To závisí na rozlišení, provedené v době návrhu, když je aplikace vytvářena.
Během sestavení kompilátor vyřeší typy aplikací pomocí odkaz na sestavení.V rozhraní.NET Framework verze 2.0, 3.0, 3.5, 4 a 4.5 odkaz na sestavení instalují při instalaci rozhraní.NET Framework.
Odkaz na sestavení v rozhraní.NET Framework verze 4.5 jsou poskytnutých cílení pack, který je dodáván s odpovídající verzi rozhraní.NET Framework SDK.Rozhraní, sám poskytuje pouze sestavení za běhu.Budování aplikací je nutné nainstalovat rozhraní.NET Framework a odpovídající sadu SDK pro rozhraní.NET Framework.
Pokud máte konkrétní rozhraní.NET Framework, systém sestavení řeší všechny typy pomocí odkaz na sestavení v cílení pack.Za běhu fusion zavaděč řeší tyto stejné typy sestaveních modulu runtime, které jsou obvykle umístěny v mezipaměti GAC.
Pokud odkaz na sestavení není k dispozici, pak systém sestavení řeší pomocí sestavení za běhu typy sestavení.Protože modul runtime sestavení v mezipaměti GAC nejsou rozlišeny čísla podverze, je možné, že řešení bylo nesprávné sestavení.To může dojít například, pokud je odkaz na nové metody zavedené v rozhraní.NET Framework verze 3.5 při cílení na verzi 3.0.Sestavení bude úspěšná a aplikace bude spuštěna v počítači sestavení, ale selže při nasazení do počítače, který nemá verze 3.5 nainstalován.
Cílení pack, která je nyní součástí rozhraní.NET Framework SDK obsahuje seznam všech sestavení za běhu v dané verzi rozhraní nazývá seznam přerozdělení (redist).To znemožňuje systém sestavení řešení typy proti nesprávnou verzi sestavení.