Значение $ Temp - это значение переменной среды Temp для пользователя, от имени которого запускается процесс агента сборки. Вы можете изменить временное местоположение для пользователя сборки - однако это может быть не то, что вам нужно, поскольку это параметр, который вам придется сделать для среды пользователей сборки, а не только для локализации в процессе агента сборки.
Лично я установил для рабочих каталогов моего агента сборки что-то вроде d: \ bw \ $ (BuildDefinitionId), где d - довольно быстрый вторичный диск, однако c: \ bw подойдет также. Это означает, что сборки выполняются в месте с коротким путем, поэтому вы с меньшей вероятностью столкнетесь с досадным пределом в 260 символов, установленным классами ввода-вывода .NET.
Предположительно, создание агентов сборки - это не то, чем занимаются ваши разработчики, а скорее административная задача - однако, если вы действительно хотите убедиться, что все сделано именно так, как вы хотели, вы можете подготовить агент сборки с помощью TFS. Создайте API на внутренней странице ASP.NET или в небольшом приложении. Это даст вам контроль, который вам нужно ограничить, где установлен рабочий каталог сборки.
Если вам нужен код API для создания агента сборки, сообщите мне об этом в комментариях, и я отредактирую свой ответ.