issue with nuget developersを作成し、修正案を提案しました。
nuget.targetsは、次のように変更してファイルを変更します。<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
で
は、この要素を追加します。<PropertyGroup>
で
<SolutionLevelPackagesConfig>$([System.IO.Path]::Combine($(SolutionDir), ".nuget\packages.config"))</SolutionLevelPackagesConfig>
を、この要素を追加します。<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
で
<RestoreSolutionLevelCommand>$(NuGetCommand) install "$(SolutionLevelPackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreSolutionLevelCommand>
を、この要素を追加WinNTのRestoreCommandの前:
<Exec Command="$(RestoreSolutionLevelCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)') And Exists('$(SolutionLevelPackagesConfig)')" />
これは、私のmsbuildをソリューションレベルのパッケージを復元するようにしました。
私が正しく理解している限り、ランナーがインストールされているかどうかをチェックするタスクが必要です。そうでない場合は、nugetを実行してパッケージをインストールしますか? – stej
はい、そのようなものです。 (理想的には、ソリューションレベルのパッケージには自動復元機能が組み込まれているはずです.nunit-console.exeを 'packages'フォルダのどこかで呼び出す必要がありますが、これはおそらくNuGetの将来のバージョンでのみ発生します) – Borek
Iソリューションレベルのパッケージがまったく存在しないことを認識していませんでした。どのようにそれらを識別しますか? VSはNUnit.Runnersが既にインストールされていることをどのように追跡しますか? – springy76