If there is nothing physically wrong with him...earache, teething, hunger...stick it out more than 2 hours, he has you played, sorry.
When you decide to be serious start on a Friday night if you're off weekends, sometimes it only takes 3 nights and Sunday might be the last, IF you're consistent. Take turns so you can get get the rest you need, just one of you go in, set the schedule ahead of time. He has to learn to self-soothe, you can't do it for him. Go in, leave the lights off, don't pick him up, lay him down, pat him a bit, say "Good night, I love you" in a hushed, matter-of-fact manner, and leave. If he cries and fusses wait the 5,10,15, etc., minutes before going in. Repeat with no lights on, even if he needs a diaper change do it in the dark (a nightlight you leave on helps.) No interaction, you're teaching him nighttime and his crib are for sleeping, so no rocking or eye contact. He gets angry he gets angry, you don't flinch or acknowledge it.
Take back control, do it as long as it takes until he realizes he's not getting up, longer than 2 hours at this point because he knows you'll give in then. (That's why the first night of a weekend is good to start on.) If he stands, he stands, you don't go running back in. He's old enough to find his own pacifier as well. You stick to the plan, and don't give extra naps during the day to help him get his sleep. You do it as many nights as it takes and he will learn.
To those who think this is mean, 1) advice was asked for, and 2) I learned this all from my dear, wise Mom, who passed away Nov 10th. She bore and raised 11 children, and had a hand in raising her 3 grandchildren and 5 of her great-grandchildren. Her way worked and none if us is any the worse for her methods.
And you didn't commit the cardinal sin by taking him in your room, if you plan to continue, you can place his crib there. Otherwise, no parent's bed until wake-up time in the morning...if you want him to know you're serious. Parenting is hard sometimes :)