By default .NET embeds rich Meta data inside the executable code using MSIL. developers can easily decompile existing DLL back using tools like ILDASM or Reflector for .NET. on the other hand there are many third party tools available which make this decompiling process on one click. So any one can easily look in to your assemblies and get the actual source code back by reverse engineer and understand real logic which can make it easy to crack application.
but you can save you code logic by stop this reverse engineering is using obfuscation. There are lots of third parties tools like XenoCode, Demeanor for .NET etc. which provide .NET obfuscation solution.