Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / Microsoft / Build / Tasks / Xaml / CompilationPass2Task.cs / 1305376 / CompilationPass2Task.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace Microsoft.Build.Tasks.Xaml { using System; using System.Collections.Generic; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using System.Reflection; using System.Runtime; [Fx.Tag.XamlVisible(true)] public class CompilationPass2Task : Task { public CompilationPass2Task() { } [Fx.Tag.KnownXamlExternal] public ITaskItem[] ApplicationMarkup { get; set; } public string AssemblyName { get; set; } [Fx.Tag.KnownXamlExternal] public ITaskItem[] References { get; set; } public string LocalAssemblyReference { get; set; } public string RootNamespace { get; set; } public string BuildTaskPath { get; set; } public override bool Execute() { AppDomain appDomain = null; try { appDomain = XamlBuildTaskServices.CreateAppDomain("CompilationPass2AppDomain_" + Guid.NewGuid(), BuildTaskPath); CompilationPass2TaskInternal wrapper = (CompilationPass2TaskInternal)appDomain.CreateInstanceAndUnwrap( Assembly.GetExecutingAssembly().FullName, typeof(CompilationPass2TaskInternal).FullName); PopulateBuildArtifacts(wrapper); bool ret = wrapper.Execute(); if (!ret) { foreach (LogData logData in wrapper.LogData) { XamlBuildTaskServices.LogException( this, logData.Message, logData.FileName, logData.LineNumber, logData.LinePosition); } } return ret; } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } XamlBuildTaskServices.LogException(this, e.Message); return false; } finally { if (appDomain != null) { AppDomain.Unload(appDomain); } } } void PopulateBuildArtifacts(CompilationPass2TaskInternal wrapper) { IListapplicationMarkup = new List (this.ApplicationMarkup.Length); foreach (ITaskItem taskItem in this.ApplicationMarkup) { applicationMarkup.Add(taskItem.ItemSpec); } wrapper.ApplicationMarkup = applicationMarkup; IList references = new List (this.References.Length); foreach (ITaskItem reference in this.References) { references.Add(reference.ItemSpec); } wrapper.References = references; wrapper.LocalAssemblyReference = this.LocalAssemblyReference; wrapper.AssemblyName = this.AssemblyName; wrapper.RootNamespace = this.RootNamespace; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace Microsoft.Build.Tasks.Xaml { using System; using System.Collections.Generic; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using System.Reflection; using System.Runtime; [Fx.Tag.XamlVisible(true)] public class CompilationPass2Task : Task { public CompilationPass2Task() { } [Fx.Tag.KnownXamlExternal] public ITaskItem[] ApplicationMarkup { get; set; } public string AssemblyName { get; set; } [Fx.Tag.KnownXamlExternal] public ITaskItem[] References { get; set; } public string LocalAssemblyReference { get; set; } public string RootNamespace { get; set; } public string BuildTaskPath { get; set; } public override bool Execute() { AppDomain appDomain = null; try { appDomain = XamlBuildTaskServices.CreateAppDomain("CompilationPass2AppDomain_" + Guid.NewGuid(), BuildTaskPath); CompilationPass2TaskInternal wrapper = (CompilationPass2TaskInternal)appDomain.CreateInstanceAndUnwrap( Assembly.GetExecutingAssembly().FullName, typeof(CompilationPass2TaskInternal).FullName); PopulateBuildArtifacts(wrapper); bool ret = wrapper.Execute(); if (!ret) { foreach (LogData logData in wrapper.LogData) { XamlBuildTaskServices.LogException( this, logData.Message, logData.FileName, logData.LineNumber, logData.LinePosition); } } return ret; } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } XamlBuildTaskServices.LogException(this, e.Message); return false; } finally { if (appDomain != null) { AppDomain.Unload(appDomain); } } } void PopulateBuildArtifacts(CompilationPass2TaskInternal wrapper) { IList applicationMarkup = new List (this.ApplicationMarkup.Length); foreach (ITaskItem taskItem in this.ApplicationMarkup) { applicationMarkup.Add(taskItem.ItemSpec); } wrapper.ApplicationMarkup = applicationMarkup; IList references = new List (this.References.Length); foreach (ITaskItem reference in this.References) { references.Add(reference.ItemSpec); } wrapper.References = references; wrapper.LocalAssemblyReference = this.LocalAssemblyReference; wrapper.AssemblyName = this.AssemblyName; wrapper.RootNamespace = this.RootNamespace; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvalidDataException.cs
- UserControlFileEditor.cs
- Section.cs
- IndicShape.cs
- UnsafeNativeMethods.cs
- ClientTargetSection.cs
- ToolStripSystemRenderer.cs
- InternalEnumValidator.cs
- OAVariantLib.cs
- TreeNodeStyle.cs
- TraceProvider.cs
- ElementProxy.cs
- Oid.cs
- CapacityStreamGeometryContext.cs
- wpf-etw.cs
- ChooseAction.cs
- ToolStripControlHost.cs
- DependencyPropertyKind.cs
- XhtmlTextWriter.cs
- InputManager.cs
- HebrewCalendar.cs
- MsmqIntegrationInputChannel.cs
- LogoValidationException.cs
- EncoderExceptionFallback.cs
- SqlConnection.cs
- NullableConverter.cs
- EntityCommandExecutionException.cs
- ManagementObjectCollection.cs
- TableItemPattern.cs
- MulticastIPAddressInformationCollection.cs
- itemelement.cs
- RuntimeComponentFilter.cs
- TableCellsCollectionEditor.cs
- XdrBuilder.cs
- TransactionScope.cs
- DockAndAnchorLayout.cs
- _Rfc2616CacheValidators.cs
- IDQuery.cs
- URLEditor.cs
- SoapEnumAttribute.cs
- SqlConnectionFactory.cs
- _Rfc2616CacheValidators.cs
- RowCache.cs
- GridItem.cs
- SmtpDigestAuthenticationModule.cs
- SiblingIterators.cs
- _HeaderInfo.cs
- DbConnectionPoolCounters.cs
- BitmapEffect.cs
- XsdDateTime.cs
- SqlProfileProvider.cs
- SqlCrossApplyToCrossJoin.cs
- XmlTextWriter.cs
- CngKey.cs
- IISUnsafeMethods.cs
- DisplayNameAttribute.cs
- OLEDB_Util.cs
- SpecialFolderEnumConverter.cs
- SoapExtensionTypeElementCollection.cs
- SqlDataSourceConnectionPanel.cs
- AssemblyHash.cs
- WebPartZone.cs
- DataList.cs
- EntityUtil.cs
- DataGridViewCellCollection.cs
- GroupBoxDesigner.cs
- Base64Stream.cs
- BuildProvider.cs
- FeatureSupport.cs
- CategoryNameCollection.cs
- ZoneButton.cs
- PeerNameRecord.cs
- Column.cs
- ConfigXmlElement.cs
- Interlocked.cs
- Dump.cs
- SafePEFileHandle.cs
- DelegateArgument.cs
- BaseTemplateParser.cs
- PerformanceCounter.cs
- MediaPlayerState.cs
- MultipartContentParser.cs
- DataViewListener.cs
- IndicFontClient.cs
- ProtocolsSection.cs
- XPathAncestorQuery.cs
- XmlSerializationGeneratedCode.cs
- DataSpaceManager.cs
- BaseCollection.cs
- EdmRelationshipRoleAttribute.cs
- Clock.cs
- QilBinary.cs
- Bold.cs
- QueryCacheManager.cs
- UpdatePanelControlTrigger.cs
- UniqueConstraint.cs
- TextViewDesigner.cs
- ProjectionCamera.cs
- TextServicesProperty.cs
- UserNameSecurityToken.cs