2016-04-01 2 views
4

Мне интересно, могу ли я подавить предупреждающие сообщения на выходе команды nuget.exe pack? Конкретные сообщения были бы ужасны, но я могу жить с подавлением их всех.Подавить предупреждающий вывод от Nuget.exe

nuget command line documentation упоминает флаг Verbosity, но на самом деле не указывает, каковы действительные значения для этого. Я пробовал следующее:

nuget pack mypackage.nuspec -Verbosity Quiet 

Но, похоже, ничего не делает.

Вот пример nuspec я пытаюсь пакет:

<?xml version="1.0" encoding="utf-8"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata> 
     <id>MyPackage</id> 
     <version>1.0.0</version> 
     <authors>Administrator</authors> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>My package description.</description> 
    </metadata> 
    <files> 
     <file src="mysourcepath\foo.dll" target="mytargetpath\foo.dll" /> 
    </files> 
</package> 

предупреждающее сообщение я получаю это:

WARNING: 1 issue(s) found with package 'MyPackage'. 

Issue: Assembly outside lib folder. 
Description: The assembly 'mytargetpath\foo.dll' is not inside the 'lib' folder and hence it won't be added as a reference when the package is installed into a project. 
Solution: Move it into the 'lib' folder if it should be referenced. 

Я создаю NuGet пакет, который будет развертывается как приложение через сервер Octopus. У сборок в этой DLL не нужно ссылаться ни на что - этот пакет никогда не должен упоминаться как часть сборки (для этого у нас есть другие более логические пакеты).

Я хочу подавить это предупреждение, потому что фактический пакет, который я создаю, содержит тысячи файлов, ни один из которых не находится в папке lib. Выходной шум от этого одного предупреждения делает его трудно увидеть любые другие законные предупреждения я мог бы быть заинтересован в

UPDATE: Этот пакет упакован из пользовательского nuspec файла - он состоит из выхода сот проектов. , поэтому указание файла проекта не является жизнеспособным вариантом для устранения предупреждения. FWIW, указав файл проекта , делает, устраняя предупреждение, так как он завершает вывод проекта в папку lib, чего я пытаюсь избежать.

TIA для любого ввода.

+0

FWIW, я понимаю, что это предупреждение можно смело игнорировать. Мой пакет nuget создан успешно и работает по назначению через Octopus. Я просто пытаюсь выяснить, могу ли я подавить это, поэтому у меня есть меньше загроможденный вывод во время моего процесса сборки. – wbj

ответ

6

Прежде всего, NuGet ссылка ясно указывает, что действительные значения для Verbosity .в ссылке, которую вы предоставили в разделе pack команды:

Display это количество деталей в выходе: нормальный, спокойный , (v2.5) подробно.

Попробуйте упаковки файла проект вместо если возможно .nuspec файла, используйте нижний регистр для quiet флага и использовать -NoPackageAnalysis:

nuget pack myproject.proj -Verbosity quiet -NoPackageAnalysis 
+2

Опция «-Verbosity quiet» не устраняет предупреждения.Кроме того, строительство с проектом не является вариантом. Я использую nuspec, потому что файлы, которые я упаковываю, являются (буквально) сотнями проектов. Я уточнил этот вопрос. – wbj

2

Флага -nopackageanalysis подавляет предупреждение, даже при использовании .nuspec файла.

Вы также можете рассмотреть возможность использования Octopack, если это вариант. Octopack был разработан для создания пакетов специально для Octopus Deploy (т. Е. Никакой папки lib, никаких ложных предупреждающих сообщений и т. Д.). Он использует NuGet под капотом, поэтому вы все равно можете использовать его с файлом .nuspec.

+1

-nopackageanalysis решил это для меня. Hovever Octopack не работает, если вы хотите, чтобы несколько проектов были в одном и том же nuget, как OP. –

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