2017-01-29 9 views
1

У меня есть определение сборки в TFS 2015TFS построить - NuGet пакет только проекты с nuspec

enter image description here

Это определение сборки запускается фиксациями к мастеру и должны построить проект, запустить все тесты и опубликовать пакет Nuget проектов, который содержит .nuspec файлы.

Моя проблема в том, что я хочу упаковать только проектов, содержащих файлы .nuspec, а не только любой проект.

Я знаю, что я могу указать «** \ *. Nuspec» в пути/шаблоне, но тогда мне нужно будет явно указывать id, title, version, desc и т. Д. Для каждого nuspec, и я хочу он должен быть взят из информации о сборке.

Есть ли способ его получить?

Arik.

+0

Вы имеете в виду: "знаете, что я могу указать" ** \ *. Nuspec "в пути/шаблоне"? –

+0

@JeroenHeier Вы правы, я исправил это. Спасибо. – areller

+0

Использование файлов csproj имеет преимущества (автоматически, например, поиск зависимостей пакетов). Вероятно, более экономично делать что-то с именами проектов, если вы не хотите создавать настраиваемую/настраиваемую задачу. –

ответ

1

.nuspec не будет получать информацию о сборке при сгенерировании. Нам нужно изменить идентификатор, заголовок, версию и т. Д. Вручную.

Так что нам просто нужно сразу же упаковать файл .csproj, который примет информацию о сборке для сгенерированного пакета.

+0

Но если я изменю файл .nuspec, мне нужно будет поддерживать его в каждой версии, которая не является чем-то Я надеялся, я надеялся, что информация о пакете может быть взята из информации о сборке, поэтому мне не придется поддерживать ее дважды. Я мог бы добавить создание nuspec как часть определения сборки, но тогда у меня не было бы возможности решить, какие проекты я хочу как пакет nuget, а какие нет, все проекты этого решения будут опубликованы в nuget – areller

+0

Это действие по умолчанию для текущей версии NuGet при генерации файла nuspec для проекта пакета. И если вы не можете решить, какие проекты будут созданы как пакет nuget, зачем вы создаете файл .nuspec для каждого проекта? –