We're working on migrating from TeamCity to TFS. I've built a couple of build projects in TFS and have found that using a build script seems to be the most flexible, but is also difficult to get them to work correctly. Finding the latest msbuild for example is especially tedious. Using the built-in tasks are easy, but keeps you limited to what that particular step allows. Like the dotnet core step missing the pack option.
I'm not finding any guidance as to which way works better overall, whether using a build script in the build definition vs a bunch of build steps.
Is there any best practices/whitepapers available that are relevant to VSTS or TFS 2017 or does anybody have any guidance as to which way to go?