我需要在调用我正在编写的调试器可视化器的调用之间保持一个对象,但它不需要在IDE会话之间持续存在。 IDE的EnvDTE.Globals对象看起来像是存储此对象的显而易见的地方。如何在调用Visual Studio调试器可视化器之间保留自定义对象?
如果要存储的对象的类型已经加载到IDE中,例如,一个整数列表,我可以成功地将这种类型的变量保存在全局变量对象中,然后在随后调用调试器可视化器时检索它。
但是,如果要保存的变量的类型包含调试器可视本身,或通过可视化所引用的本地组装的组件声明,那么这一切都严重错误。我可以将对象保存到全局变量中,并在与可视化器相同的调用中检索它。但是,当我尝试在随后的调用中访问它时,我可以成功测试存在的值,但是当我尝试访问它时,IDE会崩溃。
我推测发生了什么事情是调试器可视化器的程序集每次使用可视化器时都会重新加载,所以存储对象的类型与我期望的类型不匹配。那么,这是我的猜测。任何解释/解决方法将不胜感激。