1

Visual Studio Team Services (つまり、Visual Studio Online) でデスクトップ アプリケーションのビルド プロセスをセットアップしており、一部のビルド ケースではリス インストーラーの Releasify コマンドを自動的に実行したいと考えています。これまでのところ、プロジェクトがビルドされた後に実行している次のpowershellスクリプトを作成しました

Write-Host "Hello World from $Env:AGENT_NAME."
Write-Host "Current Path  $env:Agent_BuildDirectory"
Write-Host "Build Number  $env:Build_BuildNumber"
$squirrel = "$env:Agent_BuildDirectory\packages\squirrel.windows.*\tools\Squirrel.exe"
.$squirrel -releasify "$build_dir\MyNupkg.nupkg"

これにより、次のエラー メッセージが表示されます

2015-12-29T12:57:48.5701506Z ##[error]. : The term 'C:\a\1\packages\squirrel.windows.*\tools\Squirrel.exe' is not recognized as the name of a cmdlet, 
2015-12-29T12:57:48.5701506Z ##[error]function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the 
2015-12-29T12:57:48.5701506Z ##[error]path is correct and try again.
2015-12-29T12:57:48.5701506Z ##[error]At C:\a\1\s\MyDir\Release.ps1:5 char:2
2015-12-29T12:57:48.5701506Z ##[error]+ .$squirrel -releasify "$build_dir\MyNupkg.nupkg"
2015-12-29T12:57:48.5701506Z ##[error]+  ~~~~~~~~~
 2015-12-29T12:57:48.5701506Z ##[error]    + CategoryInfo          : ObjectNotFound: (C:\a\1\packages...ls\Squirrel.exe:String) [], CommandNotFoundException
2015-12-29T12:57:48.5701506Z ##[error]    + FullyQualifiedErrorId : CommandNotFoundException
2015-12-29T12:57:48.5701506Z ##[error] 
2015-12-29T12:57:48.5701506Z ##[error]Process completed with exit code 0 and had 1 error(s) written to the error stream.

このエラーを修正するにはどうすればよいですか? より良いアプローチはありますか?そのディレクトリにあるプログラムをpowershellで実行できないのはなぜですか?

4

2 に答える 2

2

エラーはかなり明確です:

指定したパスでファイルが見つかりません。つまり、次のとおりです。C:\a\1\packages\squirrel.windows.*\tools\Squirrel.exe

正しいフォルダーを指すようにパスを修正します。

于 2015-12-29T19:12:09.840 に答える
0

「$env:Agent_BuildDirectory」は、特定のビルド定義のすべてのフォルダーが作成されるエージェント上のローカル パスです。プロジェクト ソリューションの完全なパスではありません。パッケージフォルダーに移動するには、パス「$env:BUILD_SOURCESDIRECTORY\\」を使用する必要があります。したがって、スクリプトを次のように更新すると、問題が解決するはずです。

$squirrel = "$env:BUILD_SOURCESDIRECTORY\<project name>\packages\squirrel.windows.*\tools\Squirrel.exe"
于 2015-12-30T01:59:08.410 に答える