I would check your thyroid levels. Look to see if you have hyperthyroid symptoms and go from there. Even if it does not say you have a thyroid issue does not mean you don't. Also one thing that helps is very fattening cheese. I know Whole Foods sell very fattening cheese. My mom had this issue and tried everything to gain weight. She ate cheese all day long and she gained around ten pounds. Also a healthy diet is very good, but if you are severely underweight then you need to eat to gain weight. Good luck.
The only thing I'd say to the above is, since butter has no nutritional value and nuts do, why eat the butter? Because the insidious nature of a dairy problem is, most humans have one but you usually don't notice it until your body is wracked with inflammation and digestive problems years down the road and you have osteoporosis from leaching out your magnesium. And you won't even know if it was the dairy that did it. Since it isn't necessary to eat dairy, why do it? And if you are going to do it, cheese and yoghurt are much more friendly to the body, and dairy made from any milk other than cow's milk is better as well, so you can minimize any harm that might come without giving it up altogether.
How tall are you? I definitely agree with Paxiled that I'd look for healthy foods and increase overall quantity. Calorie dense foods will help you get Calories in faster - things like adding some butter to your bread/vegetables, eating avocados, snacking on nuts, etc. There's a definite divide on recommendations about dairy (and especially full-fat dairy), but if dairy is not aggravating to you, incorporating full-fat dairy products can be an easy way to increase your Calorie consumption. Fats have 9 Calories per gram and carbs and protein have 4 Calories per gram, so they're considered more Calorie dense. However, I would definitely not decrease your consumption of fruits and vegetables as they have tremendous health benefits and the body needs their vitamins, enzymes, etc. for optimum health.
Please don't think this is glib, but eat more of the healthy food you already eat and don't burn any more off. If what you really want isn't just to get larger but to gain muscle, then you have to do resistance training as well as eat more, and if you do that, you'll need additional high quality protein.