Если сборки идентичны, я предполагаю, что единственное различие между * .csproj в Dev и тем же * .csproj в Main / Release будет примерно таким:
<Reference Include="Assembly">
<HintPath>..\Debug\Assembly.dll</HintPath>
</Reference>
, а затем
<Reference Include="Assembly">
<HintPath>..\Release\Assembly.dll</HintPath>
</Reference>
В качестве первого шага вы можете создать небольшое консольное приложение, которое автоматизирует это с помощью функции поиска и замены во всех задействованных файлах проекта.Затем вы можете запускать это приложение каждый раз, когда выполняете слияние.
Единственное, что вам понадобится в TFS-SDk, - это возможность извлекать файлы * .csproj.
(Еще один возможный угол: Вам действительно нужна Debug-версия сборки в DEV-ветке?)