jakobehn / GitFlow.VS

145 stars 62 forks source link

VS 2017 An exception was thrown while initializing part "GitFlowVS.Extension.GitFlowActionSection" #83

Open brianthielagilethought opened 5 years ago

brianthielagilethought commented 5 years ago

On a new installation of Visual Studio 2017 (after the update), I get the following error when opening the GitFlow window for the first time:

Microsoft.VisualStudio.Composition.CompositionFailedException: An exception was thrown while initializing part "GitFlowVS.Extension.GitFlowActionSection". ---> System.ArgumentException: String cannot be of zero length. Parameter name: oldValue at System.String.ReplaceInternal(String oldValue, String newValue) at System.String.Replace(String oldValue, String newValue) at GitFlow.VS.GitFlowWrapper.<>cDisplayClass37_0.b__1(Branch b) at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at GitFlow.VS.GitFlowWrapper.GetAllBranchesThatStartsWithConfigPrefix(String config) at GitFlow.VS.GitFlowWrapper.get_AllFeatures() at GitFlowVS.Extension.ViewModels.ActionViewModel.get_AllFeatures() at GitFlowVS.Extension.ViewModels.ActionViewModel.set_ShowFinishFeature(Visibility value) at GitFlowVS.Extension.ViewModels.ActionViewModel..ctor(GitFlowActionSection te) at GitFlowVS.Extension.GitFlowActionSection..ctor() --- End of inner exception stack trace --- at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.RuntimePartLifecycleTracker.CreateValue() at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.Create() at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveNext(PartLifecycleState nextState) at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveToState(PartLifecycleState requiredState) at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.GetValueReadyToExpose() at Microsoft.VisualStudio.Composition.ExportProvider.<>cDisplayClass53_0.b0() at Microsoft.VisualStudio.Composition.ExportProvider.<>cDisplayClass55_0.b1() at Microsoft.VisualStudio.Composition.ExportProvider.<>cDisplayClass54_0.b0() at Microsoft.VisualStudio.Composition.DelegateServices.<>cDisplayClass2_01.<As>b__0() at System.ComponentModel.Composition.ExportFactory1.CreateExport() at Microsoft.VisualStudio.Composition.NetFxAdapters.MefV1ExportProvider.ComposablePartDefinitionForExportFactory.CreatePart() at System.ComponentModel.Composition.ReflectionModel.ExportFactoryCreator.LifetimeContext.GetExportLifetimeContextFromExport[T](Export export) at System.ComponentModel.Composition.ReflectionModel.ExportFactoryCreator.<>c__DisplayClass6_02.<CreateStronglyTypedExportFactoryOfTM>b__0() at System.ComponentModel.Composition.ExportFactory1.CreateExport() at Microsoft.TeamFoundation.Controls.WPF.TeamExplorer.Framework.TeamExplorerSectionHost.Create()

neilmiddleton-klaw commented 5 years ago

+1 consistently getting this too on VS 15.9.8, 15.9.9 and 15.9.10

wikiped commented 4 years ago

On VS 16.4.2 as well.

wikiped commented 4 years ago

I appears the reason for this error was rooted in empty prefixes which were result of improper initialization of the working directory for whatever reason:

$ git flow init -d
Using default branch names.

How to name your supporting branch prefixes?
Feature branches? []
Bugfix branches? []
Release branches? []
Hotfix branches? []
Support branches? []
Version tag prefix? []
Hooks and filters directory? [/tmp/test/.git/hooks]

After updating git-flow to latest version 1.12.3 (AVH Edition) and running git flow init -f the problem was fixed. Default non-empty prefixes look like these:

How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]

There is also a manual way to add prefixes to config desribed here.