Let me start by saying that your MS Project version must be 2010 or earlier for this to work. P6 simply didn’t catch up with MS Project 2013 on this yet – as of the end of 2017.
I am going to describe the XML importing version although excel import is also possible, as I hear.
The first thing you must do is, if you have a MS project 2013 like myself, you must save your file in 2010 or 2007 format. Just to be safe, I did it in 2007
Then convert it to XML
IMPORTANT: before saving as XML, you MUST remove all empty rows in your MS project. in other words, all rows must contain an activity. Leave no row blank.
After saving it as xml file, simply import to Primavera by following on screen instructions.
IMPORTANT: You may see that your activities do not seem in the correct order after importing Primavera. Do not panic. this is probably because, in MS project, milestones are just milestones. But in Primavera, Milestones are divided into a start milestone and finish milestone type. Therefore Primavera might put them in different places. and this affect the ordering of many other activities for some reason.
However, in my import file all links were preserved, and logic kept. do not be tricked by the rows number on Primavera. it doesn’t mean the same thing as in MS project. you must insert the activity ID column and sort it accordingly and only then it will look similar to MS project, as the activity ID column is the one that corresponds to the row number in MS Project.
Also, in predecessor and successor column of Primavera you will not see the relations in their exact form such as FS+5 day etc.. it will only show the activity names to you and you must look at the detail window predecessor and successor tab in Primavera to see that in fact the link is preserved. all my start and finish dates were also preserved.