2015-01-22 1 views
7

Документация кажется действительно неполной. Все, что он говорит, это то, что вы можете использовать свой файл .nuspec, но он не упоминает о том, где вы должны его поместить, или о том, как использовать octopack для его использования.Как получить Octopack для использования пользовательского файла .nuspec?

http://docs.octopusdeploy.com/display/OD/Using+OctoPack

Я попытался Именование .nuspec файлу то же самое, что мое решение с именем и иметь его в том же каталоге. Это не сработало.

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

Все остальное, что я пробую, это просто выстрел в темноте.

Неужели кто-нибудь получил это на работу?

ответ

4

блеск.

Я - манекен.

Файл .nuspec должен находиться в той же директории, что и файл .csproj. Это действительно имеет смысл, поскольку позволяет вам иметь другой файл nuspec для каждого проекта в вашем решении.

Надеюсь, этот пост помогает кому-то другому.

2

Обратите внимание: не имеет, поскольку у NuSpec, поскольку OctoPack будет генерировать один на лету (основанный на файле проекта), если его нет - это то, что вы испытывали.

Предоставлено, если вы хотите настроить пакет NuGet, требуется NuSpec. Проверьте источник OctoPack здесь: https://github.com/OctopusDeploy/OctoPack, и вы можете сами убедиться, как OctoPack работает с NuSpec.

+2

Да, у моего файла решения есть пробел в его имени, поэтому пакет, который пытался создать octopack, имел неправильное имя. Вот почему мне нужно было явно указать имя пакета в nuspec. –

7

Если вы хотите использовать пользовательский nuspec файл (что-то другое, чем your.project.name.nuspec, есть свойство MSBuild OctoPackNuSpecFileName, через которым вы можете указать свой nuspec файл, например:

msbuild yoursolution.sln /p:RunOctoPack=true p:OctoPackNuSpecFileName=Dev.nuspec 
+0

Вы также можете использовать пользовательские или условные .nuspec файлы, изменив ваш .csproj-файл. См. Ответ ниже. – eskimwier

3

Другой способ использовать обычая или условный .nuspec файл с OctoPack является добавление PropertyGroup в файл .csproj, как это:

<PropertyGroup> 
    <RunOctoPack>true</RunOctoPack> 
</PropertyGroup> 
<PropertyGroup> 
    <OctoPackNuSpecFileName Condition="'$(Configuration)' == 'Release'">MyApp.nuspec</OctoPackNuSpecFileName> 
    <OctoPackNuSpecFileName Condition="'$(Configuration)' != 'Release'">MyApp.Debug.nuspec</OctoPackNuSpecFileName> 
</PropertyGroup> 

Поместите файлы MyApp.nuspec и MyApp.Debug.nuspec в том же каталоге, что и файл .csproj и вы g оод идти.