Итак, давайте попробуем создать публичную сборку:
using System; namespace MyClass { public class FirstClass { public static string Gets() { return "Hello Global"; } } }
По идее сейчас можно компилировать и пробовать устанавливать. Однако нет. Для глобальной сборки нужно сформировать прочное имя (Strong Name). Для этого есть утилита подходящая - Sn назваться. Давайте попробуем формировать это имя.
Sn -k myKeys.snk
В результате должен появиться файл myKeys.snk. Теперь нужно в сборке в ее атрибутах указать этот файл в AssemblyInfo.cs.
[assembly: AssemblyKeyFile("myKeys.snk")]
Вот полный код этого файла:
using System.Reflection; using System.Runtime.CompilerServices; [assembly: AssemblyTitle("First")] [assembly: AssemblyDescription("Firts Step Site ")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NetStep")] [assembly: AssemblyCopyright("Kaev Artem")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: AssemblyVersion("1.0")] [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("myKeys.snk")] [assembly: AssemblyKeyName("Hello")]
Все. Можно компилировать. Компилировать нужно вместе с файлом.
csc.exe /target:library /out:First.dll First.cs AssemblyInfo.cs
И только после этого можно произвести установку сборки подробнее в "Шаг 61 - Global Assembly Cache".
gacutil /i First.dll
Обратите внимание на то, что инсталляция не обязательно может пройти удачно. Вот пример удачной установки.
Теперь Вы сможете ее увидеть в глобальном кеше.