У меня есть проект .NET с открытым исходным кодом, основным артефактом которого является DLL, которую необходимо установить в GAC для его основной вариант использования. Поэтому я хочу установить его во время выполнения задачи AfterBuild. Я использую задачу GacUtil msbuild из расширений сообщества MSBuild. Это не работает.
Мой код MSBuild, который я получил от здесь это:
<Target Name="AfterBuild">
<GacUtil Assemblies="$(TargetName)" />
</Target>
Я использую команду msbuild /t:AfterBuild /verbosity:diagnostic
. Я получаю следующую ошибку:
Done building target "_CheckForInvalidConfigurationAndPlatform" in project "JustAProgrammer.ADPR.csproj".
Target "AfterBuild" in project "e:\src\JustAProgrammer.ADPR\JustAProgrammer.ADPR\JustAProgrammer.ADPR.csproj" (entry point):
Using "GacUtil" task from assembly "C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll".
Task "GacUtil"
Done executing task "GacUtil" -- FAILED.
Done building target "AfterBuild" in project "JustAProgrammer.ADPR.csproj" -- FAILED.
Done Building Project "e:\src\JustAProgrammer.ADPR\JustAProgrammer.ADPR\JustAProgrammer.ADPR.csproj" (AfterBuild target(s)) -- FAILED.
Я выполняю эту команду из копии cmd.exe, запущенной от имени администратора, с gacutil.exe на своем пути. Я использовал ту же самую командную строку, чтобы успешно установить и удалить эту сборку из GAC, и дважды проверил, нет ли сборки в папке c: \ windows \ assembly.
Как мне понять, почему GacUtil дает сбой?