繁体   English   中英

为什么我能够调试我的程序集?

[英]Why am I able to debug my assembly?

我正在处理一个处理各种颜色转换的程序集。 当我将程序集加载到一个新项目进行测试时,如果程序集中出现错误,Visual Studio将从DLL中打开有问题的代码。 我可以逐步完成程序集中的所有代码。

我绝对不希望代码如此容易可见/可用。 我希望代码在程序集中有点“锁定”。

如何设置DLL只是抛出某种错误而不是打开?

编辑

我对代码“安全”不感兴趣,我不需要混淆。 该库正在内部使用,代码本身可供托管人员完全访问。 我不想要的是使用该库的人发现自己突然调试程序集。 如果出现问题,我更倾向于抛出错误,而不是在Visual Studio中打开汇编代码。

发生这种情况是因为您在计算机上安装了VS,并且因为您正在部署PDB文件 - 如果未安装VS,您将无法获得此对话框。

另外:

  • 不要部署已在Debug配置中构建的代码。 这些包含有助于调试的其他信息。
  • 确保不使用可执行文件部署PDB文件。 与上面相同,运行代码不需要它们。

这两个都有帮助,但任何程序集都可以使用反射器轻松反编译,因此您可能还需要调查混淆器以阻止其他程序员轻松查看您的代码。

这里有一个C#混淆器列表: http//www.csharp411.com/net-obfuscators/

你需要的是混淆你的二进制文件。

基本上,如果您希望您的代码是安全的,并且您不希望您的类暴露给其他人,那么您肯定需要对代码进行模糊处理。

要对代码进行模糊处理,可以使用DotFuscator,它包含在Visual Studio安装中。

检查我的文章。 http://www.codeproject.com/KB/dotnet/code_security.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM