1

我有一个 Visual Studio 项目,该项目在 TeamCity 中设置,具有通过 OctoPack ( 3.0.43 )创建工件的构建任务。接下来是一个部署任务,它从构建任务任务(成功构建时)接收输出 NuGet 包作为依赖项。

MsBuild我已经尝试使用build-runner 和一个来设置 build-task Visual Studio (sln),但在这两种情况下都没有创建工件

我已将 OctoPack NuGet 包添加到我的 Visual Studio 项目中。

4

1 回答 1

6

我自己发现了这个:

当我添加 OctoPack NuGet 包时,一切似乎都很好。在各种 帖子的暗示下,我查看了OctoPack.targets文件。在这里,我偶然发现了该Install.ps1文件,该文件似乎应该在将 NuGet 包添加到项目时在 VS 项目的.csproj文件中注入一些构建操作。

接下来,我删除了 NuGet 包并尝试重新安装,但这次使用包管理控制台( View > Other Windows > Package Management Console) 和命令:

Install-Package OctoPack

这将输出以下内容:

已成功将“OctoPack 3.0.43”添加到 MySolution.MyProject。& :文件 C:\somepath\mysolution\packages\OctoPack.3.0.43\tools\Install.ps1 无法加载,因为在此系统上禁用了运行脚本。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=135170上的 about_Execution_Policies 。在行:1 字符:3

因此,一些安全问题阻止了 PowerShell 脚本对.csproj文件执行其操作。

解决方案:

在同一窗口(包管理控制台)或提升的 PowerShell 中,执行

Set-ExecutionPolicy RemoteSigned

重试 NuGet 包安装(仍然是同一窗口或使用 NuGet GUI)——现在 NuGet 包安装程序应该注入您的 OctoPack 版本想要的任何内容。在此之后,我的 TeamCity 构建开始正确生成 OctoPack 工件。

于 2015-09-09T08:27:13.613 回答