dotCover console runner and .Net 4.6. Error in dotCover log

Hello,

We are using TeamCity 8.1 with integrated dotCover console runner. Recently we migrated our codebase to .Net 4.6. Running the cover command for NUnit tests we noticed error in the dotCover log.

7:59:22 AM.489: Thread:6: [JetDispatcher] Thread FileSystemTrackerCommit:6 created an Avalon marshaller.
7:59:22 AM.489: Thread:6: [JetDispatcher] Thread FileSystemTrackerCommit:6 pwned.
7:59:23 AM.673: Thread:8: [JetDispatcher] Thread SettingsChangeDispatch:8 created an Avalon marshaller.
7:59:23 AM.673: Thread:8: [JetDispatcher] Thread SettingsChangeDispatch:8 pwned.
7:59:24 AM.631: Thread:1: ERROR: Unsupported FrameworkVersion 4.6
7:59:26 AM.841: Thread:1: EXCEPTION: Unsupported FrameworkVersion 4.6
Unsupported FrameworkVersion 4.6

--- EXCEPTION #1/1 [LoggerException]
Message = “Unsupported FrameworkVersion 4.6”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at JetBrains.ProjectModel.impl.FrameworkDetectionHelperBase.GetPlatformInfoFromFrameworkDir(FileSystemPath frameworkDir, PlatformID platformID, Func`2 getAssemblyFolders, Func`2 getRuntimeDir)
     at JetBrains.ProjectModel.impl.FrameworkDetectionHelperBase.<>c__DisplayClass8.<GetFrameworksFromReferenceAssembliesFolder>b__7(Lifetime lifetime)
     at JetBrains.DataFlow.Lifetimes.Using[TRetVal](Func`2 F)
     at JetBrains.ProjectModel.impl.FrameworkDetectionHelperBase.GetFrameworksFromReferenceAssembliesFolder(FileSystemPath path, Func`2 getAssemblyFolders, Func`2 getRuntimeDir, Func`2 addRuntimeFramework)      at JetBrains.ProjectModel.impl.NetPlatformsProvider.<SearchSurfaceAssembliesProfiles>b__14()      at JetBrains.Util.Logging.Logger.Catch[TValue](Func`1 F)      at JetBrains.ProjectModel.impl.NetPlatformsProvider.SearchSurfaceAssembliesProfiles()      at JetBrains.ProjectModel.impl.NetPlatformsProvider.GetPlatforms()      at JetBrains.Util.Logging.Logger.Catch[TValue](Func`1 F)      at JetBrains.ProjectModel.impl.PlatformManagerImpl.CollectPlatformsFromProvider(IPlatformsProvider provider, IDictionary`2 platformsByProvider, IDictionary`2 prefixesByProvider)      at JetBrains.ProjectModel.impl.PlatformManagerImpl.<.ctor>b__0(IPlatformsProvider provider)      at JetBrains.DataFlow.Viewable.<>c__DisplayClass1a`1.<View>b__18(Lifetime valueLifetime, TValue value)      at JetBrains.Application.Components.ComponentStorage.View[T](Lifetime lifetime, Action`2 viewer)      at JetBrains.Application.Components.ViewableValueResolver.ViewableComponentDescriptor`1.View(Lifetime lifetime, Action`2 viewer)      at JetBrains.ProjectModel.impl.PlatformManagerImpl..ctor(Lifetime lifetime, IFrameworkDetectionHelper frameworkDetectionHelper, IViewable`1 providers)      at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)      at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)      at JetBrains.Application.Extensibility.PartComponentDescriptor.CreateInstanceOf(Type type, IValueResolveContext context)      at JetBrains.Application.Components.SingletonDescriptor.CreateInstanceChecked(OnError onError, IComponentContainer container)      at JetBrains.Application.Components.SingletonDescriptor.GetValue()      at JetBrains.Application.Components.SignatureResolution.BindArguments(List`1 argumentDescriptors)      at JetBrains.Application.Extensibility.PartComponentDescriptor.CreateInstanceOf(Type type, IValueResolveContext context)      at JetBrains.Application.Components.SingletonDescriptor.CreateInstanceChecked(OnError onError, IComponentContainer container)      at JetBrains.Application.Components.SingletonDescriptor.GetValue()      at JetBrains.Application.Components.ComponentStorage.InstantiateDescriptors(IEnumerable`1 descriptors)      at JetBrains.Application.Components.ComponentStorage.ComposeDescriptors(ICollection`1 descriptors)      at JetBrains.Application.Components.ComponentStorage.Compose()      at JetBrains.Application.Env.RunsProducts.RunProduct(Lifetime lifetimeProduct, IApplicationDescriptor product, IEnumerable`1 enumProgramConfigurationsProviders, JetEnvironment environment, IDictionaryEvents`2 productsNonComposed, IDictionaryEvents`2 productsComposed)      at JetBrains.Application.Env.RunsProducts.<>c__DisplayClass19.<Init_RunWhenAllowed>b__18(Lifetime lifetimeProduct, IApplicationDescriptor product)      at JetBrains.Util.Logging.Logger.Catch(Action action)      at JetBrains.DataFlow.ICollectionEventsEx.<>c__DisplayClass15`1.<ForEachItemCore>b__12(AddRemoveEventArgs`1 args)      at JetBrains.DataFlow.CollectionEvents`1.OnAcknowledgeSinkAddRemove(Action`1 handler, AddRemove addremove)      at JetBrains.DataFlow.Infra.SignalWithDelegates`1.OnAfterAdvise(Action`1 handler)      at JetBrains.DataFlow.Lifetime.AddBracket(Action FOpening, Action FClosing)      at JetBrains.Application.Env.RunsProducts.Init_RunWhenAllowed(Lifetime lifetimeRWLocked, IShellLocks locks, IEnumerable`1 enumShellConfigProviders, JetEnvironment environment, ICollectionEvents`1 productsAllowedToRun, DictionaryEvents`2 productContainersNonComposed, DictionaryEvents`2 productContainersComposed)      at JetBrains.Application.Env.RunsProducts.<>c__DisplayClass2.<.ctor>b__0(Lifetime lifetimeRWLocked)      at JetBrains.Application.IShellLocksEx.ExecuteWithWriteLock(IShellLocks thіs, Action F)      at JetBrains.Application.IShellLocksEx.ExecuteWithReadLock(IShellLocks thіs, Action F)      at JetBrains.DataFlow.Lifetime.AddBracket(Action FOpening, Action FClosing)      at JetBrains.DataFlow.Lifetimes.Define(Lifetime lifetime, String id, Action`2 FAtomic, ILogger logger)      at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)      at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)      at JetBrains.Application.Extensibility.PartComponentDescriptor.CreateInstanceOf(Type type, IValueResolveContext context)      at JetBrains.Application.Components.SingletonDescriptor.CreateInstanceChecked(OnError onError, IComponentContainer container)      at JetBrains.Application.Components.SingletonDescriptor.GetValue()      at JetBrains.Application.Components.ComponentStorage.InstantiateDescriptors(IEnumerable`1 descriptors)      at JetBrains.Application.Components.ComponentStorage.ComposeDescriptors(ICollection`1 descriptors)      at JetBrains.Application.Components.ComponentStorage.RegisterDescriptors(Lifetime lifetime, IList`1 descriptors)      at JetBrains.Application.Components.ComponentContainer.<RegisterSource>b__2(Lifetime lifetime, IEnumerable`1 descriptors)      at JetBrains.Util.Logging.Logger.Catch(Action action)      at JetBrains.DataFlow.ICollectionEventsEx.<>c__DisplayClass15`1.<ForEachItemCore>b__12(AddRemoveEventArgs`1 args)      at JetBrains.DataFlow.Signal`1.NotifySinks(TValue payload)      at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie)      at JetBrains.DataFlow.CollectionEvents`1.FireAddRemove(AddRemove action, TValue value, Object cookie)      at JetBrains.DataFlow.CollectionEvents`1.InternalAdd(TValue value, Object cookie)      at JetBrains.DataFlow.CollectionEvents`1.AddRange(IEnumerable`1 items)      at JetBrains.Application.Parts.PartsCatalogueSet.<>c__DisplayClass2.<Add>b__0()      at JetBrains.DataFlow.Lifetime.AddBracket(Action FOpening, Action FClosing)      at JetBrains.Util.Logging.Logger.Catch(Action action)      at JetBrains.DataFlow.ICollectionEventsEx.<>c__DisplayClass15`1.<ForEachItemCore>b__12(AddRemoveEventArgs`1 args)      at JetBrains.DataFlow.CollectionEvents`1.OnAcknowledgeSinkAddRemove(Action`1 handler, AddRemove addremove)      at JetBrains.DataFlow.Infra.SignalWithDelegates`1.OnAfterAdvise(Action`1 handler)      at JetBrains.DataFlow.Lifetime.AddBracket(Action FOpening, Action FClosing)      at JetBrains.DataFlow.ICollectionEventsEx.ForEachItem[TValue](ICollectionEvents`1 thіs, Lifetime lifetime, Action`2 FHandler)      at JetBrains.Util.Logging.Logger.Catch(Action action)      at JetBrains.DataFlow.ICollectionEventsEx.<>c__DisplayClass15`1.<ForEachItemCore>b__12(AddRemoveEventArgs`1 args)      at JetBrains.DataFlow.Signal`1.NotifySinks(TValue payload)      at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie)      at JetBrains.DataFlow.CollectionEvents`1.FireAddRemove(AddRemove action, TValue value, Object cookie)      at JetBrains.DataFlow.CollectionEvents`1.InternalAdd(TValue value, Object cookie)      at JetBrains.DataFlow.ICollectionEventsEx.Add[TValue](ICollectionEvents`1 thіs, Lifetime lifetime, TValue value, Object cookie)      at JetBrains.dotCover.ConsoleRunner.ConsoleRunnerProgram.<>c__DisplayClass1.<GetComponentContainer>b__0()      at JetBrains.Threading.ReentrancyGuard.Execute(String name, Action action)      at JetBrains.dotCover.ConsoleRunner.ConsoleRunnerProgram.GetComponentContainer()      at JetBrains.dotCover.ConsoleRunner.Commands.Cover.CoverCommand.Execute(CommandExecutionContext context)      at JetBrains.dotCover.ConsoleRunner.ConsoleRunnerBackend.Execute(IEnumerable`1 args, Func`1 componentContainerGetter)      at JetBrains.dotCover.ConsoleRunner.ConsoleRunnerProgram.Main(String[] args)


Please advise if this affects the coverage analysis. And what version should we use to support .Net 4.6 code coverage?

Thanks in advance,
Dmitriy

5 comments

Hello Dmitriy,

You can either upgrade your version of TeamCity or the version of dotCover bundled with TeamCity 8.1. I suppose you use dotCover 2.6, but the fix for the problem you mentioned is included in dotCover 2.7.4.


Kind regards,
Maria

0

Thank you Maria!

Do you know if I can just upgrade the bundled version without upgrading TeamCity?

Best Regards,
Dmitriy

0

In order to update dotCover on TeamCity, you should put the corresponding zip file into the following directory on your TeamCity server: TeamCity\webapps\ROOT\WEB-INF\plugins\dotNetRunners\agent\dotCover.zip

When TeamCity detects a new zip file, dotCover console runner will be deployed on all build agents.


Kind regards,
Maria

0

Maria,

Let me ask you to share a link to dotCover 2.7.4 command line runner (bundled to TeamCity). I couldn't find it on JetBrains site. I tried the latest version but have other concerns. I'd like to validate my project against 2.7.4 version,

Thank you in advance,
Dmitriy

0

Please sign in to leave a comment.