STRING_SPLIT and SSDT do not mix
Update (3/28/17): As a simple workaround, I added a string split UDF that does the same thing (only much more slowly). If I need to compile the DB project, I replace the intrinsic function with the UDF in the two places it is called. Otherwise I switch back to the intrinsic. It’s annoying, but what else is a person to do? (I noticed this comment on Connect: “Some fixes have been added to SSDT regarding STRING_SPLIT. If you continue to experience the issue, please try out the next SSDT release.” I will indeed check it out.) [The fix is supposed to be in a “preview” release, which I have not installed. I will test it when the production release comes out.]
I happened to use the new (SQL Server 2016) STRING_SPLIT function in a table-valued function that I wrote the other day. When I went to sync the database to my SSDT database project, however, the project would no longer compile.
It turned out to be an SSDT bug, already reported in Microsoft Connect. They fixed it in September, 2016, or so they thought, but it is still broken when the new function is used within a user-defined table-valued function.
I am not at a point where the database project has to compile, so I am just going to wait it out.