0

ビルド後のイベントとして次を使用しています。

FOR %%a in ($(ProjectDir)$(OutDir)MyLibrary.*.dll) DO CALL :package %%~na

:package 
"$(SolutionDir)\..\..\..\Packages\NuGet.exe" pack "$(SolutionDir)%1\%1.csproj" -o "$(SolutionDir)\..\..\..\Packages"

上記の機能は、フォルダー内のすべての MyLibrary dll を検索し、それらから nuget パッケージを作成することです。MyLibrary.*.dll の検索に一致する 5 つのファイルがあります。ただし、作成されるパッケージは 1 つだけです。つまり、最初に見つかったファイルです。

5つではなく1つのパッケージのみを作成する理由について、上記の問題を誰もが見ています。構文エラーはありますか?

4

1 に答える 1

0

goto :eofNuGet 行の後の呼び出しがありません。関数の終了を意味し:packageます。したがって、ループは関数を呼び出していますが、関数がループに戻ることはありません。

FOR %%a in ($(ProjectDir)$(OutDir)MyLibrary.*.dll) DO CALL :package %%~na
goto End

:package 
"$(SolutionDir)\..\..\..\Packages\NuGet.exe" pack "$(SolutionDir)%1\%1.csproj" -o "$(SolutionDir)\..\..\..\Packages"
goto :eof

:End
于 2012-12-08T04:28:54.820 に答える