internal object GetExtension(string extensionTypeAssemblyQualifiedName) { VSDesignerPerfEventProvider perfEventProvider = new VSDesignerPerfEventProvider(); perfEventProvider.WriteEvent(VSDesignerPerfEvents.WorkflowDesignerExtensionManagerGetExtensionStart); try { using (ExtensionAssemblyResolvingScope scope = new ExtensionAssemblyResolvingScope(this.logger, this.ExtensionsDirectory)) { Type hostServiceType = Type.GetType(extensionTypeAssemblyQualifiedName); if (hostServiceType == null) { return(null); } return(this.GetExtension(hostServiceType)); } } finally { perfEventProvider.WriteEvent(VSDesignerPerfEvents.WorkflowDesignerExtensionManagerGetExtensionEnd); } }
public override bool Execute() { VSDesignerPerfEventProvider perfEventProvider = new VSDesignerPerfEventProvider(); perfEventProvider.WriteEvent(VSDesignerPerfEvents.XamlBuildTaskExecuteStart); try { if (IsInProcessXamlMarkupCompile) { bool acquiredLock = false; try { Monitor.TryEnter(referencesCacheLock, ref acquiredLock); if (acquiredLock) { return ReuseAppDomainAndExecute(); } else { return GetAppDomainAndExecute(); } } finally { if (acquiredLock) { Monitor.Exit(referencesCacheLock); } } } else { return GetAppDomainAndExecute(); } } finally { perfEventProvider.WriteEvent(VSDesignerPerfEvents.XamlBuildTaskExecuteEnd); } }