У меня есть ссылка на объект COM в моем C #, который иногда требует, чтобы меня отбросили, установив значение Null, а затем заново.Похоже, что происходит какое-то кэширование или что-то, что может привести к ошибке типа «COM-объект отделен от лежащего в его основе RCW».Я обошел это, заставив GC.Collect сразу после установки объекта в Null отказаться от RCW, но этот неуклюжий и неэффективный подход плох.
Я хотел использовать Marshal.ReleaseComObject, но это только уменьшает количество ссылок, и проблема остается до тех пор, пока GC фактически не запустится.(Не говоря уже о вызове, это вообще плохая идея)
Как я могу гарантировать, что при восстановлении ссылки COM я получу новый RCW, и все будет работать так, как должно?