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
- Size3DConverter.cs
- LogRecordSequence.cs
- Header.cs
- EnumMember.cs
- MembershipValidatePasswordEventArgs.cs
- TreeView.cs
- VersionPair.cs
- BinaryWriter.cs
- StrokeIntersection.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- XmlDocumentSerializer.cs
- SQLMembershipProvider.cs
- DrawListViewColumnHeaderEventArgs.cs
- BulletDecorator.cs
- SpanIndex.cs
- XmlSchemaRedefine.cs
- BitmapEffectState.cs
- PenCursorManager.cs
- EnumerableCollectionView.cs
- CompressionTransform.cs
- XPathDocumentBuilder.cs
- GenericXmlSecurityToken.cs
- KeyNotFoundException.cs
- ResizeGrip.cs
- EmbeddedMailObject.cs
- Run.cs
- TemplateEditingFrame.cs
- SystemDropShadowChrome.cs
- NullNotAllowedCollection.cs
- SingleTagSectionHandler.cs
- _ListenerAsyncResult.cs
- TaskForm.cs
- StrokeRenderer.cs
- InstanceCreationEditor.cs
- ControlBuilderAttribute.cs
- StringReader.cs
- TreeNode.cs
- ManifestResourceInfo.cs
- DesignParameter.cs
- HttpException.cs
- Util.cs
- ArglessEventHandlerProxy.cs
- handlecollector.cs
- QueryCacheManager.cs
- HuffCodec.cs
- CreateParams.cs
- CodeIndexerExpression.cs
- ReadWriteSpinLock.cs
- ValuePattern.cs
- CornerRadiusConverter.cs
- Metafile.cs
- AppLevelCompilationSectionCache.cs
- DataGridCommandEventArgs.cs
- SiteMapNode.cs
- Freezable.cs
- FileChangeNotifier.cs
- TextCharacters.cs
- ObjectDataSourceMethodEventArgs.cs
- MimeTypeAttribute.cs
- Int16Converter.cs
- PropertyMetadata.cs
- EditorPart.cs
- DelegateSerializationHolder.cs
- StateDesignerConnector.cs
- WebPartEditorOkVerb.cs
- RecordBuilder.cs
- SharedDp.cs
- FamilyMapCollection.cs
- SettingsSection.cs
- AspCompat.cs
- TimelineGroup.cs
- linebase.cs
- ReflectTypeDescriptionProvider.cs
- ChildDocumentBlock.cs
- CollectionExtensions.cs
- XmlSerializationWriter.cs
- Attachment.cs
- AdRotatorDesigner.cs
- EventToken.cs
- CatalogZone.cs
- AssociationSet.cs
- HttpListenerResponse.cs
- ContentFilePart.cs
- AsynchronousChannelMergeEnumerator.cs
- Int32Collection.cs
- GeometryHitTestResult.cs
- FormsIdentity.cs
- DictionaryItemsCollection.cs
- XmlAttributeAttribute.cs
- Crypto.cs
- MutexSecurity.cs
- XsdDateTime.cs
- GlyphTypeface.cs
- SqlCrossApplyToCrossJoin.cs
- ExceptionRoutedEventArgs.cs
- AsymmetricKeyExchangeDeformatter.cs
- TextAction.cs
- ColumnMapTranslator.cs
- IdleTimeoutMonitor.cs
- ActivityUtilities.cs