1

我们最近将 Fody 添加到我们的一些项目中,并且在本地这很好,但是在 TeamCity 构建服务器上,这会导致问题,我可以通过在VS2015的包管理器控制台中运行以下命令来在本地复制:

PM> Update-package -reinstall
<snip ... />
Successfully uninstalled 'Fody 1.29.4' from Example.Project
Package 'Fody.1.29.4' already exists in folder 'D:\Projects\Examples\MySolutions\packages'
File Conflict
File 'FodyWeavers.xml' already exists in project 'Example.Project'. Do you want to overwrite it?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "N"):

在构建服务器上,此消息一遍又一遍地重复,直到日志文件耗尽服务器数据驱动器上的所有可用空间(最后一个 TC 日志变为 28GB!)

我试过-NonInteractive了,但这似乎对构建服务器没有影响,并且在本地,在包管理器控制台中它说它无法识别该参数:

PM> Update-package -reinstall -noninteractive
Update-Package : A parameter cannot be found that matches parameter name 'noninteractive'.
At line:1 char:42
+ Update-package -reinstall -noninteractive <<<< 
    + CategoryInfo          : InvalidArgument: (:) [Update-Package], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand     
4

1 回答 1

1

似乎实际上有一个选项可以防止这种行为:

-FileConflictAction Ignore

这将采取默认操作(不覆盖)。

在 TeamCity 中,您可以在 NuGet 配置中设置此选项(选择高级选项),在底部的命令行参数中:

teamcity 命令行参数

于 2016-01-10T14:08:25.580 回答