If you feel like you've tried to do everything you can to gain muscle and size, but aren't seeing the scale budge whatsoever (at least not in the correct direction), then there's really only three factors that are potentially responsible. I encourage you to take a look at each of these potential factors and evaluate whether they are occurring in your own situation, and to what degree. Once you've addressed the issue(s), you will find that gaining muscle mass is not nearly as elusive a goal as it might currently appear.
Reason #1: You're not eating enough.
You're probably face-palming right now just reading that heading, but bear with me. I can't tell you the number of hardgainer clients who have come to me claiming to be eating everything under the sun, who can't seem to gain weight, who end up gaining weight successfully once we figure out how to increase their calories.
First of all, if you're not tracking your calories, you have absolutely NO WAY of knowing if you're "eating as much as you can" or not. Just because you're eating till you're nauseated every meal doesn't mean you're eating as many calories as you can--keep in mind that an enormous salad can easily contain much fewer calories than a half-cup of peanut butter, for instance.
By tracking your calories, you can identify foods that are not contributing to your caloric/nutritional goal efficiently and should either be completely eliminated, or substituted with something that provides similar benefits at a much higher level of calories.
A good example is a current client of mine, Jim, who was drinking almond milk with his breakfasts every morning. By simply switching out the almond milk for whole fat milk, we increased his calorie intake by 115 calories without adding ANY more volume to his diet.
The bottom line, is that if you're not gaining weight, you're not eating enough calories. It REALLY is that simple thanks to the law of thermodynamics. So figure out how many calories you're actually getting, and then figure out a way to increase the amount of calories you're taking in.
Reason #2: Your fitness program isn't effective.
No matter how good your nutrition habits are, if your workout program isn't effective, you're not going to gain muscle mass. Start off by forgetting all the bodybuilding magazine workouts--they don't work. Those workouts are designed for the steroid-using, genetically-gifted and do not translate over to normal folks, and especially not to hardgainers.
Programs that involve high intensity training--such as CrossFit, boot camps, or P90X--aren't properly designed for mass gain and will result in too many calories burned during the workout. These types of programs involve too light of weight, too many reps, and too high of a heart rate.
What you need to focus on are large, compound movements that allow you to move heavy weight in the lower rep range. This will stimulate muscle growth while also avoiding the calorie-expenditure and increased metabolic effects of other types of training. Much like your diet, you need to be tracking your workouts and ensuring that you're consistently progressing in strength and work load.
Reason #3: You're overtraining.
If you're not getting enough recovery time, or you're training for too long per workout, then you run the risk of overtraining. More is NOT always better when it comes to fitness. There is a sweet spot of training volume and frequency, and going to either side of this ideal will result in reduced effectiveness.
A good rule of thumb is to avoid training muscles that are still significantly sore from a previous workout on a regular basis. I say, "on a regular basis" because once in a while this type of back-to-back training can be useful and "shock" the muscle into growth, but on a regular basis it won't give the muscles enough time to repair and grow.
Muscle growth happens during the time you're not in the gym, so make your workouts efficient and get in and out of the gym within an hour (with a recovery shake immediately after training). Also be sure to get at least 8 hours of sleep per night to assist the body in its repair process.