@@ -104,8 +104,9 @@ int IVsSolutionEvents.OnBeforeCloseProject(IVsHierarchy pHierarchy, int fRemoved
104104 ThreadHelper . ThrowIfNotOnUIThread ( ) ;
105105 if ( OnBeforeCloseProject != null )
106106 {
107- Project ? project = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) as Project ;
108- OnBeforeCloseProject ? . Invoke ( project ) ;
107+ SolutionItem ? item = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) ;
108+ if ( item is Project project )
109+ OnBeforeCloseProject ? . Invoke ( project ) ;
109110 }
110111 return VSConstants . S_OK ;
111112 }
@@ -115,8 +116,9 @@ int IVsSolutionEvents.OnAfterLoadProject(IVsHierarchy pStubHierarchy, IVsHierarc
115116 ThreadHelper . ThrowIfNotOnUIThread ( ) ;
116117 if ( OnAfterLoadProject != null )
117118 {
118- Project ? project = SolutionItem . FromHierarchy ( pRealHierarchy , VSConstants . VSITEMID_ROOT ) as Project ;
119- OnAfterLoadProject ? . Invoke ( project ) ;
119+ SolutionItem ? item = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) ;
120+ if ( item is Project project )
121+ OnAfterLoadProject ? . Invoke ( project ) ;
120122 }
121123 return VSConstants . S_OK ;
122124 }
@@ -132,8 +134,9 @@ int IVsSolutionEvents.OnBeforeUnloadProject(IVsHierarchy pRealHierarchy, IVsHier
132134
133135 if ( OnBeforeUnloadProject != null )
134136 {
135- Project ? project = SolutionItem . FromHierarchy ( pRealHierarchy , VSConstants . VSITEMID_ROOT ) as Project ;
136- OnBeforeUnloadProject ? . Invoke ( project ) ;
137+ SolutionItem ? item = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) ;
138+ if ( item is Project project )
139+ OnBeforeUnloadProject ? . Invoke ( project ) ;
137140 }
138141 return VSConstants . S_OK ;
139142 }
@@ -250,8 +253,9 @@ int IVsSolutionEvents4.OnAfterRenameProject(IVsHierarchy pHierarchy)
250253
251254 if ( OnAfterRenameProject != null )
252255 {
253- Project ? project = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) as Project ;
254- OnAfterRenameProject ? . Invoke ( project ) ;
256+ SolutionItem ? item = SolutionItem . FromHierarchy ( pHierarchy , VSConstants . VSITEMID_ROOT ) ;
257+ if ( item is Project project )
258+ OnAfterRenameProject ? . Invoke ( project ) ;
255259 }
256260 return VSConstants . S_OK ;
257261 }
0 commit comments