66using ExtensionManager . Manifest ;
77using ExtensionManager . UI ;
88using ExtensionManager . UI . Worker ;
9- using ExtensionManager . VisualStudio ;
109using ExtensionManager . VisualStudio . Documents ;
1110using ExtensionManager . VisualStudio . Extensions ;
1211using ExtensionManager . VisualStudio . MessageBox ;
@@ -17,14 +16,16 @@ public abstract class ExportFeatureBase : IFeature, IExportWorker
1716{
1817 public sealed class Args
1918 {
19+ public IThisVsixInfo VsixInfo { get ; }
2020 public IVSDocuments Documents { get ; }
2121 public IVSMessageBox MessageBox { get ; }
2222 public IVSExtensions Extensions { get ; }
2323 public IDialogService DialogService { get ; }
2424 public IManifestService ManifestService { get ; }
2525
26- public Args ( IVSDocuments documents , IVSMessageBox messageBox , IVSExtensions extensions , IDialogService dialogService , IManifestService manifestService )
26+ public Args ( IThisVsixInfo vsixInfo , IVSDocuments documents , IVSMessageBox messageBox , IVSExtensions extensions , IDialogService dialogService , IManifestService manifestService )
2727 {
28+ VsixInfo = vsixInfo ;
2829 Documents = documents ;
2930 MessageBox = messageBox ;
3031 Extensions = extensions ;
@@ -35,6 +36,7 @@ public Args(IVSDocuments documents, IVSMessageBox messageBox, IVSExtensions exte
3536
3637 private readonly Args _args ;
3738
39+ protected IThisVsixInfo VsixInfo => _args . VsixInfo ;
3840 protected IVSDocuments Documents => _args . Documents ;
3941 protected IVSMessageBox MessageBox => _args . MessageBox ;
4042 protected IVSExtensions Extensions => _args . Extensions ;
@@ -50,6 +52,8 @@ public async Task ExecuteAsync()
5052 {
5153 var manifest = ManifestService . CreateNew ( ) ;
5254 var installedExtensions = await Extensions . GetInstalledExtensionsAsync ( ) . ConfigureAwait ( false ) ;
55+
56+ installedExtensions . RemoveAll ( vsix => vsix . Id == VsixInfo . Id ) ;
5357
5458 await ShowExportDialogAsync ( manifest , this , installedExtensions ) ;
5559 }
0 commit comments