问题标签 [psake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
420 浏览

powershell - psake 使用 msys_version 调用 npm install

我需要确保安装了一些 NPM 依赖项,其中一些使用 node_gyp 进行编译。这意味着我必须调用“npm install --msvs_version=2013”​​,以便 node_gyp 将使用我的 vs.net 2013 编译器。但由于某种原因,将其添加到 psake 任务失败。看起来它没有正确传递第三个参数。

调用“./psake npmInstall”会导致它运行,但 node_gyp 失败,因为它没有得到第三个参数。错误似乎很明显——它没有使用 2013 CPP 文件。它说 V110 的地方应该说 V120(通常通过调用 --msvs_version2013 来解决):

C:\Projects\MyProject\app\SubProject\node_modules\browser-sync\node_modules\socket.io\node_modules\engine.io\node_modules\ws\build\bufferutil.vcxproj(18,3):错误MSB4019:导入的项目未找到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Default.props”。确认声明中的路径正确,并且该文件存在于磁盘上。

直接在 powershell 中运行命令可以正常工作。在 powershell 中将命令作为脚本的一部分运行可以正常工作。即使直接在 powershell 中运行“Import-Module path/to/psake.psm1; exec {npm install --msvs_version=2013}”也可以正常工作。它仅作为 psake 任务的一部分失败。

这里会发生什么?

0 投票
1 回答
228 浏览

powershell - 如何在 PowerShell 函数中使用 posh-git 检查 repo 状态?

我们有一个 psake 编排,在调用“git clean -xdf”之前提示用户以下消息:

即将删除所有未跟踪的文件。按“Y”继续或任何其他键取消。

我们想显示这个提示当存储库中存在将通过运行 clean -xdf 删除的未跟踪文件时,

关于如何使用 posh-git 来回答“存储库中是否有任何未跟踪的更改”的问题的任何建议?来自 PowerShell?

这是现有的编排,供参考...

0 投票
2 回答
1649 浏览

powershell - 从绝对路径+相对或绝对路径创建新的绝对路径

我正在使用 psake 编写构建脚本,我需要从当前工作目录创建一个绝对路径,输入路径可以是相对路径或绝对路径。

假设当前位置是C:\MyProject\Build

Gives C:\MyProject\Build\.\output,这并不可怕,但我希望没有.\. 我可以通过使用来解决这个问题Path.GetFullPath

当我希望能够提供绝对路径时,问题就出现了

Gives C:\MyProject\Build\output,我需要的地方C:\output

Gives C:\MyProject\Build\F:\output,我需要的地方F:\output

我尝试使用Resolve-Path,但这总是抱怨路径不存在。

我假设Join-Path不是要使用的 cmdlet,但我找不到任何关于如何做我想做的事的资源。有没有简单的一条线来完成我所需要的?

0 投票
0 回答
252 浏览

powershell - 使用 Powershell 下载 nuget.exe

有人可以为仅安装了 .NET 4.5 SDK 的新系统提供一个示例 powershell 脚本来引导(也称为下载)NuGet.exe 吗?

我想使用 psake 来自动化我的整个构建过程,并且不希望将 NuGet.exe 上传到我的 VCS 存储库中。

0 投票
1 回答
456 浏览

powershell - psake 中的错误报告

如何在psake任务列表中的任何任务中收到任何错误通知。?

在通知处理程序中,我想显示任务失败的窗口通知。但是 psake 吞下了异常并将其写入控制台。

更新: 这是吞下错误的 Psake 构建脚本中的代码

0 投票
1 回答
537 浏览

powershell - psake 设置执行目录

我正在尝试将 MSBuild 转换为 psake。

我的存储库结构如下所示:

我想在构建之前清理存储库(使用 git clean -xdf)。但我找不到一种方法(期望使用 .Net 类)来设置 git 的执行目录。

首先,我寻找一种在 psakes exec 中设置工作目录的方法:

Set-Location 有效,但在 exec 块完成后,位置仍设置为 $root。

然后我尝试了:

哪个有效但保持 git 打开并且没有未来的任务被执行。

如何在 $root 中执行 git?

0 投票
10 回答
1776 浏览

c# - 检查 Visual Studio 项目的一致性

您有一个大型 Visual Studio 解决方案,其中包含数十个项目文件。您将如何验证所有项目在其属性设置中是否遵循某些规则,并在添加新项目时强制执行这些规则。例如检查所有项目是否有:

我自己知道两种方法,我将在下面的答案中添加,但我想知道人们如何进行这种类型的项目测试。我特别有兴趣了解可用的解决方案,例如库或为此构建任务,而不必发明新东西或从头开始编写。

0 投票
2 回答
3772 浏览

msbuild - 在 C# 6.0 代码库的 psake 构建中强制使用 MSBuild 14.0

我最近更新到 Visual Studio 2015 并且正在使用新的 C# 6.0 功能。在 VS 中,一切都正确构建。

但是,我使用 PSake 作为构建脚本语言,并且在我使用 c# 6.0 功能的地方构建总是失败。如何告诉 psake 使用 MSBuild 14.0,以便正确构建新的 c# 6.0 功能?

尝试和失败:

  • 将框架版本传递给 psake:未知的 .NET Framework 版本,4.6

  • 在调用psake之前调用VS2015的vsvars32.bat。PSake 仍然使用旧的 MSBuild 版本。

0 投票
0 回答
123 浏览

arrays - 如何在psake脚本中覆盖数组参数

让我们假设我的 psake default.ps1 看起来像这样:

现在,有时在运行此任务时,我想更改合并的程序集。例如 :

由于某种原因,上述命令不起作用,因为它无法将字符串解析为数组。有什么方法可以在没有手动解析和字符串到数组转换的情况下做到这一点?

0 投票
2 回答
53 浏览

c# - 构建项目的组件以拥有 .dll

我有项目,其中包含很多类。我将此项目用作我的一个应用程序的插件库。这个应用程序可以从这个项目构建的一个 .dll 加载所有这些插件。

问题是,我需要在第三方应用程序中使用这些插件。此应用程序只能为每个 .dll 加载一个插件。我在这里的选择很少。据我所知,我可以为每个文件创建新项目并构建它们。但如何解决它是草率的方式。

那么,有什么方法可以为每个类或类组构建一个项目?

在我看来,这听起来像是一些脚本的任务。是否可以使用 psake 或 powershell 来实现这一点?

致谢