2017-08-18 7 views
1

解決策やプロジェクトフォルダの外にあるnuget(powershellを使用)を使ってパッケージの最新バージョンをインストールしました。 PS> nuget install octopustoolsこの場合、ディレクトリは現在のフォルダの下に作成されます。この場合は\OctopusTools.4.22.1です。インストールされたばかりのパッケージのパスは何ですか

相対パスが\OctopusTools.4.22.1\tools\octo.exeのパッケージ内のexeにアクセスしたいと思います。しかし、リリースに基づいてバージョン番号が変わる可能性があるため、スクリプトのパスを簡単に知りたいです。

ナゲットをインストールしたばかりのフォルダ名(OctopusTools.4.22.1)を簡単に教えてもらえますか?

可能であれば、フォルダを定期的にスキャンしたり、バージョン番号をハードコーディングしたりして、パスを推測しないようにしたいと考えています。 docsは何も明らかにしていないようですね。

+0

の.NET FrameworkまたはCore(彼らはNuGet派生コンテンツを置きます – Richard

+0

実際にはどちらかといえばどちらも!(どちらも!)Nuget.exeの最新バージョンがPATHにインストールされていて、 'nuget install octopustools'を実行したとします – alastairtree

+0

プロジェクトで' PackageReference '(.netコアプロジェクトの標準であり、.netフレームワークへのオプトイン)、すでにグローバルパッケージのキャッシュにあります。これはパスのNuGet.Configで定義することができます。あなたはしようとしている。 –

答えて

0

@Matt Wardのコメントをいただきありがとうございます。ExcludeVersionを使用するだけで、異なるバージョンがインストールされている場合でも、インストールされたexeへのパスが保証されます。

これを動作させるには、以前のバージョンとしてインストールされたnugetのバージョンを更新する必要がありましたが、このフラグはサポートされていません。 choco upgrade nuget.commandline -y

そしてocto.exeてもらう(この例のコールのヘルプにするだけでこれを行う):chocolateyを使用している場合(更新は簡単です

PS> nuget install OctopusTools --ExcludeVersion 
PS> OctopusTools\tools\octo.exe help 
関連する問題