Общее правило заключается в том, что «кто выделяет ресурсы, должен быть вызван для выполнения очистки».В c # вы не владеете памятью: ей владеет clr.Ваши общие сборки c # также совместно используют clr, поэтому у вас создается впечатление, что вы создаете объект в одной сборке и освобождаете его в другой.При выполнении взаимодействия ресурс, созданный библиотекой, должен быть очищен той же библиотекой через дополнительный экспортированный API-интерфейс.Однако есть некоторые исключения, которые относятся к моменту создания объектов операционной системы: в соответствии со специальной документацией рассматриваемого объекта вы можете освободить ресурс на сайте вызывающей стороны.
В вашем случае вам следует экспортироватьсоответствующие api в моем файле file.dll, которые правильно выполняют очистку.
Это правило позволяет вам не раскрывать внутренние детали, что позволяет вам изменять ваши внутренние данные, не нарушая вызывающего.