問題タブ [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 に答える
77 参照

powershell - Psake PowerShell makefile で依存関係を定義するためにファイルのタイム スタンプを使用できますか?

私が見たところ、Psake ドメイン固有の PowerShell スクリプトは、依存オブジェクトを本当に構築する必要があるかどうかを評価しません。代わりに、依存オブジェクトは常に順番に評価されます。

ファイルなどの make ターゲットをビルドするスクリプトが、依存ファイルのいずれかがターゲット ファイルよりも新しい場合にのみ実行されるように、依存関係を実装する方法はありますか?

私は前提条件と事後条件を試してみましたが、成功は限定的でしたが、これは標準的な要件のようであり、私が過去に使用したすべての UNIX スタイルの「make」に含まれています。明らかな何かが欠けているように感じます。ヘルプ!

0 投票する
1 に答える
1118 参照

powershell - PowerShell で Invoke-Build を使用して動的ビルド タスクを作成する方法

Invoke-Build を使用して動的ビルド タスクを作成しようとしています。アプローチの例を以下に示します。従来の UNIX の make 機能と同様の方法で、入力ファイルが出力ファイルより新しい場合は、入力ファイルごとに出力ファイルが生成されます。

これは、一連の増分タスクを動的に生成し、タスクを呼び出すことによって実現されます。

増分タスクの生成の概要を以下に示します。

これは、必要な他の機能のスコープとは別に、うまく機能しているように見えます。タスク Task-Thing- が実行されたときに BuildThing.ps1 スクリプトをどこでソースしようとしても、Invoke-Build は BuildThing が次のように認識されないと文句を言います。

「コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前。」

Invoke-Build を実行する前に関連ファイルをドットソースすると、すべてが期待どおりに機能します。

これはスコーピングの問題のように思えますが、単純な方法で解決する方法は明確ではありません。

静的な方法で BuildThing.ps1 をループの外に含めようとすると、デバッグによって確認されたように呼び出されたように見えますが、動的タスクによって実行される範囲には含まれていないようです。

0 投票する
1 に答える
420 参照

powershell - psake が msys_version で npm install を呼び出す

いくつかの NPM 依存関係がインストールされていることを確認する必要があり、それらのいくつかは node_gyp を使用してコンパイルします。つまり、「npm install --msvs_version=2013」を呼び出す必要があるため、node_gyp は vs.net 2013 コンパイラを使用します。しかし、何らかの理由で、これを psake タスクに追加すると失敗します。3 番目の引数が正しく渡されていないようです。

「./psake npmInstall」を呼び出すと実行されますが、node_gyp は 3 番目の引数を取得していないため失敗します。エラーはかなり明確に見えます-2013 CPP ファイルを使用していません。V110 と表示されている場合は、V120 と表示する必要があります (通常は --msv_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 を使用してリポジトリの状態を確認するにはどうすればよいですか?

「git clean -xdf」を呼び出す前に、ユーザーに次のメッセージを表示する psake オーケストレーションがあります。

すべての未追跡ファイルを削除しようとしています。「Y」を押して続行するか、他のキーを押してキャンセルします。

clean -xdf を実行すると削除される追跡されていないファイルがリポジトリにある場合にのみ、このプロンプトを表示したいと考えています。

「リポジトリに追跡されていない変更はありますか?」という質問に答えるために posh-git を使用する方法に関する提案はありますか? PowerShellから?

参考までに、既存のオーケストレーションを次に示します...

0 投票する
2 に答える
1649 参照

powershell - 絶対パス + 相対パスまたは絶対パスから新しい絶対パスを作成する

psake を使用してビルド スクリプトを作成しています。現在の作業ディレクトリから、相対パスまたは絶対パスのいずれかの入力パスを使用して絶対パスを作成する必要があります。

現在地がC:\MyProject\Build

これはひどいC:\MyProject\Build\.\outputものではありませんが、なしでお願いし.\ます。を使用することでその問題を解決できPath.GetFullPathます。

絶対パスを提供できるようにしたいときに問題が発生します

代わりC:\MyProject\Build\outputに必要な場所に を与えます。C:\output

代わりC:\MyProject\Build\F:\outputに必要な場所に を与えます。F:\output

を使用してみResolve-Pathましたが、これは常にパスが存在しないと不平を言います。

Join-Path使用するコマンドレットではないと思いますが、やりたいことを行う方法に関するリソースを見つけることができませんでした。私が必要とすることを達成するための簡単な一行はありますか?

0 投票する
10 に答える
1776 参照

c# - Visual Studio プロジェクトの整合性をチェックする

多数のプロジェクト ファイルを含む大規模な Visual Studio ソリューションがあります。すべてのプロジェクトがプロパティ設定で特定の規則に従っていることを確認し、新しいプロジェクトが追加された場合にこれらの規則を適用するにはどうすればよいでしょうか。たとえば、すべてのプロジェクトに以下があることを確認します。

私自身、以下の回答に追加する 2 つの方法を知っていますが、人々がこの種のプロジェクト テストをどのように行っているのか疑問に思っていました。新しいものを発明したり、ゼロから作成したりする必要があるのではなく、ライブラリやビルドタスクなどの利用可能なソリューションについて学ぶことに特に興味があります。

0 投票する
0 に答える
123 参照

arrays - psake スクリプトで配列パラメーターをオーバーライドする方法

私の psake default.ps1 が次のようになっていると仮定しましょう:

時々このタスクを実行するときに、どのアセンブリをマージするかを変更したいと思います。例えば ​​:

何らかの理由で、文字列を配列として解析できないため、上記のコマンドは機能しません。手動解析と文字列から配列への変換なしでこれを行う方法はありますか?

0 投票する
1 に答える
572 参照

build - Psake はプロパティとパラメーターを無視します

psake 4.5.0を使用して、 と の両方をdefault.ps1渡してファイルをさまざまな方法で実行しようとしましたが、これらの値は-scriptのルート スコープでは無視されます。-properties-parameters.ps1

相対実行 (サブフォルダー内の psake を使用) :

インポートされたモジュールで実行:

インストールされた Chocolatey-package を介して実行します

実行cmd.exe:

現在、default.ps1これらの値をすべてデバッグしているだけです。

すべての場合の出力は次のとおりです。

properties渡すおよび/またはparameterspsakeに適切な構文は何ですか?

0 投票する
0 に答える
191 参照

psake - psake は依存タスクを無視できますか?

PSake では、依存タスクが実行されないように要求するオプションはありますか。例えば:

することは可能ですInvoke-psake .\Build.ps1 T2 -ignoredependenciesか?

この理由は、大規模なプロジェクトでは、多数の依存関係を持つタスクのテストに (直接的または間接的に) 長い時間がかかるためです。これは、すべての依存関係が再構築されるためです。

0 投票する
1 に答える
425 参照

msbuild - 特定のプラットフォームが提供されている場合でも、MSBuild は常にすべてのプラットフォームをビルドします。

ARM プラットフォームのみをビルドするように指定しているにもかかわらず、MSBuild が常にすべてのプラットフォームを UWP ソリューション用にビルドする理由についてのアイデア。これは私が使用しているコマンドラインです:

私は何かを見逃していますか、何か間違っていますか?

ありがとう。

更新 - 1:

また、x86 をプラットフォームとして指定しようとしましたが、それでもすべてのプラットフォームがビルドされます。