Project-system: "Collection was modified" in Dependencies node

Created on 15 Apr 2020  路  10Comments  路  Source: dotnet/project-system

Reported in https://developercommunity.visualstudio.com/content/problem/990379/project-system-data-flow-crosstarget-joint-input-4.html and https://twitter.com/jonsagara/status/1250168538737692672

I upgraded to VS 2019 16.5.4 this morning (2020-04-14, Pacific Time), and I have started to see this exception in the yellow error bar at the top of the screen when I open my solution.


Stack trace

=====================
4/14/2020 2:02:53 PM
Recoverable
System.AggregateException: Project system data flow 'CrossTarget Joint Input: 43073702' closed because of an exception: System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()<---
. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
   at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
   at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
   at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
   at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
   at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
   at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )<---

Presumably the result of https://github.com/dotnet/project-system/pull/6073 (in 16.5 servicing) which enabled flagging faulted data flow blocks. This has highlighted a latent bug in the Dependencies node which is now presented to the user as a yellow bar.

Bug Feature-Dependency-Node

Most helpful comment

The fix for this has been merged and will be released with 16.6 preview 4.

All 10 comments

The fix to this is trivial. I haven't repro'd the bug yet, so don't know many customers will be impacted. I'll work to find out.

In the meantime I'll submit PRs for 16.6 and 16.5, in case this meets the bar for a servicing release.

I got a similar exception after updating NuGet packages from the "Manage NuGet Packages for Solution" window:


Stack trace

=====================
4/15/2020 2:16:53 PM
Recoverable
System.AggregateException: Project system data flow 'CrossTarget Evaluation Input: 15697234' closed because of an exception: System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()<---
. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
   at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
   at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
   at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged()
   at System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext()
   at System.Collections.Immutable.ImmutableDictionary`2.Builder.<get_Keys>d__18.MoveNext()
   at System.Linq.Enumerable.<ExceptIterator>d__73`1.MoveNext()
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.<FromChanges>g__SyncTargetFrameworks|1_0(<>c__DisplayClass1_0& )
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Snapshot.DependenciesSnapshot.FromChanges(String projectPath, DependenciesSnapshot previousSnapshot, ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, ImmutableArray`1 snapshotFilters, IReadOnlyDictionary`2 subTreeProviderByProviderType, IImmutableSet`1 projectItemSpecs)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<>c__DisplayClass34_0.<UpdateDependenciesSnapshot>b__0(DependenciesSnapshot previousSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.SnapshotUpdater.TryUpdate(Func`2 updateFunc, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.UpdateDependenciesSnapshot(ITargetFramework changedTargetFramework, IDependenciesChanges changes, IProjectCatalogSnapshot catalogs, ImmutableArray`1 targetFrameworks, ITargetFramework activeTargetFramework, CancellationToken token)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependenciesSnapshotProvider.<get_Subscribers>g__OnSubscriberDependenciesChanged|29_0(Object sender, DependencySubscriptionChangedEventArgs e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.RaiseDependenciesChanged(ITargetFramework targetFramework, IDependenciesChanges changes, AggregateCrossTargetProjectContext currentAggregateContext, IProjectCatalogSnapshot catalogSnapshot)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriber.Handle(AggregateCrossTargetProjectContext currentAggregateContext, ITargetFramework targetFrameworkToUpdate, Tuple`3 e)
   at Microsoft.VisualStudio.ProjectSystem.VS.Tree.Dependencies.Subscriptions.DependencyRulesSubscriberBase`1.<>c__DisplayClass12_0.<<OnProjectChangedAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.<>c__DisplayClass13_0.<<LoadedProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Threading.AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter.GetResult()
   at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.<ExecuteUnderLockCoreAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.<ProcessInputQueueAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
   at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
   at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
   at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )<---

===================

Sorry, one more data point: I just had it happen in a completely separate solution.

@jonsagara thanks for that. That's the same bug. I'd like to reproduce this locally. Are you able to share the contents of a csproj file for which the NuGet package manager gives that error?

As it happens, I can reproduce it in a throwaway project by:

  • Running the batch file in the root directory
  • Opening the .sln file

https://github.com/jonsagara/TypeScriptAspNetCore

Thanks @jonsagara that was really helpful.

Dev notes: web project NPM dependencies initially appear in the 'any' TFM and are later moved to the project's actual TFM.

The fix for this has been merged and will be released with 16.6 preview 4.

Hey Guys having the same issue and also I have install 16.5.4, I created a dotnet core web project and also several .NET Core Library projects in the same solution. Every time I try to add a Dependency (a Reference Project) I got this warning/error, and I cant reference one project to another one.

Hey Guys having the same issue and also I have install 16.5.4, I created a dotnet core web project and also several .NET Core Library projects in the same solution. Every time I try to add a Dependency (a Reference Project) I got this warning/error, and I cant reference one project to another one.

All you can do is wait for 16.6.

Was this page helpful?
0 / 5 - 0 ratings