Проблема связана с тем, что задача AspNetCompiler MSBuild, используемая в целевом объекте AfterBuild проекта ASP.NET MVC, ожидает ссылки на библиотеки DLL в папке bin веб-проекта.
В настольной сборке папка bin находится там, где вы ожидаете ее в дереве исходных текстов.
Однако TFS Teambuild компилирует вывод вашего исходного кода в другой каталог на сервере сборки. Когда запускается задача AspNetCompiler, она не может найти каталог bin, ссылающийся на требуемую DLL, и вы получаете исключение.
Решение состоит в том, чтобы изменить цель AfterBuild проекта MVC следующим образом:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler Condition="'$(IsDesktopBuild)' != 'false'" VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
<AspNetCompiler Condition="'$(IsDesktopBuild)' == 'false'" VirtualPath="temp" PhysicalPath="$(PublishDir)\_PublishedWebsites\$(ProjectName)" />
</Target>
Это изменение позволяет вам компилировать Views как на рабочем столе, так и на сервере сборки TFS.