2012-04-04 5 views
2

Мы используем GAC в нашем проекте, и в процессе разработки нам часто приходится отменить регистрацию предыдущих версий наших DLL, прежде чем регистрировать новые. Хотя мы можем использовать GACutil.exe для этого, мы также можем перетащить &, чтобы наши библиотеки DLL на C: \ Windows \ собрались для их регистрации, и щелкните правой кнопкой мыши + Удалить, чтобы отменить регистрацию (или иногда мы делаем это в командной строке с помощью «del» и имена DLL).GACUtil против ручного редактирования C: Windows assembly

Мой вопрос: есть ли какие-либо указания против нашего способа делать вещи? Это эквивалентно «GACUtil -i» и «GACUtil -u», или это может привести к проблемам?

Спасибо,

+1

Я не думаю, что удаление - это проблема. Но при установке вам нужно правильно указать имя каталога и т. Д. – leppie

+0

@leppie Да, но использование drag & drop, кажется, автоматизирует все это. – Jeff

ответ

2

Эта функциональность обеспечивается расширением пользовательской оболочки, shfusion.dll. Он выравнивает GAC и делает его похожим на одну папку. И позаботится об автоматическом удалении/регистрации сборок для вас, когда вы манипулируете окном проводника. Так ты прекрасно это делаешь.

Обратите внимание, что это больше не будет работать для .NET 4, оно использует GAC в другой папке (c: \ windows \ microsoft.net \ assembly), и эта папка не имеет такого же расширения оболочки, вы видите исходное содержимое папок GAC. Не связывайтесь с этим.

Это вообще, вы должны не использовать GAC на вашей машине-разработчике. Во-первых, точка его использования заключается в том, чтобы позволить нескольким версиям сборки сосуществовать, поэтому постоянная un/регистрация не имеет смысла. Для другого, не имеет большого смысла продолжать изменять [AssemblyVersion] во время разработки. Настоятельно рекомендуем использовать функцию «Копировать локальную», поддерживаемую IDE. Ввод его в GAC может быть полезен на вашей машине пользователя. Кроме того, я думаю, что Microsoft больше не поддерживает расширение оболочки. Он слишком часто использовался :)

+0

Большое спасибо. Очень ясно. – Jeff

Смежные вопросы