As a programmer myself, I have to again and again tell and shout, that if the purpose is cracking/stealing, then you should not do that for the sake of honesty. If the purpose is good, then I'll share my solutions.
At first, the language should be determined, if it's either a real .NET file or not.
You can use the "PEiD" tool (or if you do not have a good ...
I agree with T.Todua on likely causes, but the tools referenced are a bit dated.
for packer identification, try PEiD plus custom userdb's (https://www.aldeid.com/wiki/PEiD), ExeInfo-PE (http://exeinfo.pe.hu/plugins.htm), and the Packer rules from Yara-Rules/rules git repository (https://github.com/Yara-Rules/rules)
for dumping and fixing, ...