@@ -69,24 +69,24 @@ void OnMetadataReferenceUpdated (object sender, MetadataReferenceUpdatedEventArg
6969 return ;
7070
7171 lock ( metadataReferences ) {
72- if ( ! RemoveMetadataReference_NoLock ( reference , workspace ) )
72+ if ( ! RemoveMetadataReference_NoLock ( reference ) )
7373 return ;
7474 workspace . OnMetadataReferenceRemoved ( projectId , args . OldSnapshot ) ;
7575
76- AddMetadataReference_NoLock ( reference , workspace ) ;
76+ AddMetadataReference_NoLock ( reference ) ;
7777 workspace . OnMetadataReferenceAdded ( projectId , args . NewSnapshot . Value ) ;
7878 }
7979 }
8080
81- void AddMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference , MonoDevelopWorkspace ws )
81+ void AddMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference )
8282 {
8383 System . Diagnostics . Debug . Assert ( Monitor . IsEntered ( metadataReferences ) ) ;
8484
8585 metadataReferences . Add ( metadataReference ) ;
8686 metadataReference . SnapshotUpdated += OnMetadataReferenceUpdated ;
8787 }
8888
89- bool RemoveMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference , MonoDevelopWorkspace ws )
89+ bool RemoveMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference )
9090 {
9191 System . Diagnostics . Debug . Assert ( Monitor . IsEntered ( metadataReferences ) ) ;
9292
@@ -96,12 +96,10 @@ bool RemoveMetadataReference_NoLock (MonoDevelopMetadataReference metadataRefere
9696
9797 public void Disconnect ( )
9898 {
99- if ( ! workspaceRef . TryGetTarget ( out var ws ) )
100- return ;
101-
10299 lock ( metadataReferences ) {
103100 foreach ( var reference in metadataReferences )
104101 reference . SnapshotUpdated -= OnMetadataReferenceUpdated ;
102+ metadataReferences . Clear ( ) ;
105103 }
106104 }
107105 }
0 commit comments