为什么用visual studio生成的dll可以反编译解决思路

为什么用visual studio生成的dll可以反编译
最近在写了一个dll文件,把有关业务层的东西都封装到了里面,,
可是后来生成的dll文件,可以利用reflect可反编译出来..可以看到dll文件中的全部代码,连注释都一点不差,,

真服了.这visual   studio2005

请问一下如何用visual   studio2005编译的dll可以不被反编译...

------解决方案--------------------
vs tools中有个模糊程序处理Dotfuscator Community Edition
------解决方案--------------------
同意上楼
------解决方案--------------------
混淆一下...

.NET下编写的代码都可以被反编译,因为都是编译成中间语言.