Развертывание пользовательской политики на TFS2010 с использованием VSIX и PKGDEF - PullRequest
5 голосов
/ 14 октября 2010

У меня чертовски непросто найти пользовательскую политику для установки на TFS2010 с использованием VSIX.

У меня есть политика, которая работает и отлично работает на моем ПК для разработки, я записал значение в реестр вручную, и политика применяется.

Проблема заключается в настройке проекта VSIX и развертывании на других наших машинах разработки.

Я следовал инструкциям в:

http://blogs.msdn.com/b/jimlamb/archive/2010/03/31/how-to-implement-package-and-deploy-custom-check-in-policy-for-tfs-2010.aspx

Предполагается, что предпочтительным методом является использование нового типа проекта VSIX в VS 2010, я добавляю проект VSIX в свое решение, но инструкции в записи блога очень расплывчаты относительно того, что делать дальше. Насколько я понимаю, файл PKGDEF означает, что вам не нужно записывать значение в реестр при развертывании, а содержимое файла PKGDEF добавляется в конфигурацию при запуске Visual Studio. Это нормально, но как собрать пакет VSIX?

Я попытался добавить проект настраиваемой политики в проект VSIX как тип пакета VS, но при сборке я получаю сообщение об ошибке: целевой объект "PkgdefProjectOutputGroup" не существует в проекте.

Я попытался добавить только dll, файл pkgdef в качестве пользовательского типа контента и т. Д., Но ничего не работает.

Я изменил файл PKGDEF в блоге, чтобы он соответствовал моему собственному проекту.

Когда я устанавливаю пакет VSIX на компьютере разработчика, я вижу надстройку в Extensions Manager в Visual Studio, но когда я проверяю пользовательские политики в TFS, я получаю ошибку «не зарегистрирован».

Мне действительно нужно пошагово настроить проект VSIX для развертывания пользовательской политики, кто-нибудь может помочь?

Ответы [ 3 ]

6 голосов
/ 15 октября 2010

В блоге определенно отсутствует шаг.Я думаю, что автор намеревался добавить файл pkgdef в проект VSIX (через редактор vsixmanifest) в качестве содержимого типа VS Package.Затем добавьте ссылку на проект к проекту политики регистрации из вашего проекта VSIX (что приведет к добавлению DLL-библиотеки политики регистрации в ваш VSIX).

В качестве примечания .... при выборе "VS"Пакет "как тип контента, а затем указывает на проект ... это должен быть правильный проект пакета VS (а не просто библиотека классов C # / VB ванили).

1 голос
/ 12 мая 2012

Есть лучшая статья о том, как создать проект VSIX для пользовательских политик http://geekswithblogs.net/terje/archive/2012/03/10/packaging-custom-checkin-policies-for-visual-studio-using-vsix.aspx

1 голос
/ 02 июня 2011

Проблема в том, что имя сборки " NArrange.CheckinPolicy.dll " не соответствует имени в Policies.pkgdef.Чтобы исправить это, убедитесь, что ваш Policies.pkgdef выглядит следующим образом:

[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"TeamFoundation.Samples.CheckinPolicies"="$PackageFolder$\NArrange.CheckinPolicy.dll"

Кроме того, я бы избежал дальнейшей путаницы, изменив «Имя продукта» в source.extension.vsixmanifest на NArrange.CheckinPolicy.Таким образом, сборка будет соответствовать названию продукта в VS Extensions.

...