我正在处理一个处理各种颜色转换的程序集。当我将程序集加载到一个新项目进行测试时,如果程序集中出现错误,Visual Studio将从DLL中打开有问题的代码。我可以逐步完成程序集中的所有代码。
我绝对不希望代码如此容易可见/可用。我希望代码在程序集中有点“锁定”。
如何设置DLL只是抛出某种错误而不是打开?
修改
我对代码“安全”不感兴趣,我不需要混淆。该库正在内部使用,代码本身可供托管人员完全访问。我不想要的是使用该库的人发现自己突然调试程序集。如果出现问题,我更倾向于抛出错误,而不是在Visual Studio中打开汇编代码。
答案 0 :(得分:15)
这种情况正在发生,因为您在计算机上安装了VS,并且因为您正在部署PDB文件 - 如果未安装VS,您将无法获得此对话框。
另外:
Debug
配置中构建的代码。这些包含有助于调试的其他信息。这些都有帮助,但任何程序集都可以使用反射器轻松反编译,因此您可能还需要调查混淆器以阻止其他程序员轻松查看您的代码。
答案 1 :(得分:3)
这里有一个C#混淆器列表:http://www.csharp411.com/net-obfuscators/
答案 2 :(得分:2)
您需要的是混淆二进制文件。
答案 3 :(得分:0)
基本上,如果您希望您的代码安全并且您不希望您的类暴露给其他人,那么您肯定需要对代码进行模糊处理。
要对代码进行模糊处理,可以使用DotFuscator,它包含在Visual Studio安装中。
检查我的文章。 http://www.codeproject.com/KB/dotnet/code_security.aspx