J'interagis avec un composant COM personnalisé appelé CSCCOM dans mon projet C#.La DLL COM n'est pas vidée
Je l'emballage avec IDisposable comme ci-dessous:
Form1.cs
try {
using (CSCCOMWRAP CSC = new CSCCOMWRAP()) {
CSCCodeList CSCL = new CSCCodeList(CSC);
comboBox1.DataSource = CSCL.List;
Marshal.ReleaseComObject(CSCL);
}
}
catch (COMException ex) { }
CSCCodeList.cs
try {
var cscl = CSC.GetCodes();
for (int i = 1; i <= cscl.Count(); i++) {
object item = i;
var code = cscl.Item(ref item);
List.Add(new CSCCode((string)code.Name, Convert.ToString(code.Code)));
}
}
catch (Exception ex) {);
Une fois le programme exécuté, je vois encore CSCCOM.dll deux fois dans la vue DLL du volet inférieur ProcessExplorer's.
Cela suggère que, pour une raison quelconque, ma DLL COM ne soit pas évacuée du système.
Y a-t-il une raison particulière pour laquelle vous avez supprimé cette question? Normalement, seules les questions inutiles sont supprimées, et cette question n'est clairement pas inutile. –
Merci @mmyers. S'il vous plaît, quel est votre prénom? –
@mmyers: Je suis d'accord. Mais je pensais que j'étais en train d'exposer mon code. Mais je pense que j'aurais dû l'éditer plutôt que de le supprimer. Appréciez votre critique sur cette action du mien :) Je m'excuse vraiment à MrDosu pour ceci. – Moon