[英]Suppress warning output from Nuget.exe
我想知道是否可以在 nuget.exe pack 命令的输出中抑制警告消息? 特定的信息会很棒,但我可以忍受压制所有这些信息。
nuget命令行文档提到了 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 包,它将通过八达通服务器部署为应用程序。 这个 dll 中的程序集不需要被任何东西引用——这个包永远不应该作为构建的一部分被引用(我们有其他更合乎逻辑的包)。
我想取消此警告,因为我创建的实际包有数千个文件,其中没有一个在 lib 文件夹中。 这个警告的输出噪音使我很难看到我可能感兴趣的任何其他合法警告。
更新:这个包是从一个自定义的 nuspec 文件打包的——它包含数百个项目的输出,所以指定一个项目文件不是消除警告的可行选项。 FWIW,指定一个项目文件确实消除了警告,因为它最终将项目输出放入一个 lib 文件夹 - 这是我试图避免的。
任何输入的 TIA。
首先,nuget 参考明确指定了Verbosity
的有效值。在您在pack
命令部分下提供的链接中:
在输出中显示此数量的详细信息:正常、安静、(v2.5) 详细信息。
如果可能,尝试打包您的项目文件而不是.nuspec
文件,使用小写字母作为quiet
标志并使用-NoPackageAnalysis
:
nuget pack myproject.proj -Verbosity quiet -NoPackageAnalysis
您可以将特定属性传递到 NuGet CLI,包括“NoWarn”:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.