我有一个.Net应用程序,它作为主机应用程序,加载用户创建的程序集并动态地将它们作为插件运行。
主机应用程序和插件在同一个应用程序域中运行。我想为这些插件的作者提供附加到进程的机会,以便他们可以在主机应用程序运行时调试他们的插件。
但是,我还希望在Visual Studio中隐藏宿主应用程序中的某些变量值。
例如,如果我将一个秘密值存储在静态变量中,例如HostApplication.Passwords.SecretApiPassword
,即使插件作者不会在他们的项目中引用此类,并且他们恰好知道了名称空间这个静态,他们所要做的只是使用立即窗口打印HostApplication.Passwords.SecretApiPassword
,Visual Studio将回显该值。
我已尝试DebuggerBrowseable
并将变量标记为内部变量,但由于在调试模式下,调试器似乎可以完全访问所有内容。
是否有任何设计模式或技巧可以保护Visual Studio调试器中的某些值?