我有一个 Visual Studio 项目,该项目在 TeamCity 中设置,具有通过 OctoPack ( 3.0.43 )创建工件的构建任务。接下来是一个部署任务,它从构建任务任务(成功构建时)接收输出 NuGet 包作为依赖项。
MsBuild
我已经尝试使用build-runner 和一个来设置 build-task Visual Studio (sln)
,但在这两种情况下都没有创建工件。
我已将 OctoPack NuGet 包添加到我的 Visual Studio 项目中。
我有一个 Visual Studio 项目,该项目在 TeamCity 中设置,具有通过 OctoPack ( 3.0.43 )创建工件的构建任务。接下来是一个部署任务,它从构建任务任务(成功构建时)接收输出 NuGet 包作为依赖项。
MsBuild
我已经尝试使用build-runner 和一个来设置 build-task Visual Studio (sln)
,但在这两种情况下都没有创建工件。
我已将 OctoPack NuGet 包添加到我的 Visual Studio 项目中。
我自己发现了这个:
当我添加 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 工件。