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
- NumberFunctions.cs
- SymmetricKeyWrap.cs
- XhtmlTextWriter.cs
- unsafeIndexingFilterStream.cs
- WindowsMenu.cs
- QueryOperationResponseOfT.cs
- RectangleHotSpot.cs
- ToolboxItemAttribute.cs
- Trace.cs
- ExtentKey.cs
- CompositeCollectionView.cs
- DataGridViewCellStyle.cs
- TriggerCollection.cs
- XamlTemplateSerializer.cs
- IItemProperties.cs
- ToolStripSeparatorRenderEventArgs.cs
- httpserverutility.cs
- EntityDataSourceView.cs
- ServiceCredentials.cs
- OperationParameterInfo.cs
- EpmSyndicationContentDeSerializer.cs
- GridViewColumnCollection.cs
- DelegatingConfigHost.cs
- Label.cs
- CacheForPrimitiveTypes.cs
- SecUtil.cs
- SmiSettersStream.cs
- ConstraintManager.cs
- BitmapDecoder.cs
- PresentationTraceSources.cs
- _TimerThread.cs
- TextRunCacheImp.cs
- StretchValidation.cs
- QueueAccessMode.cs
- StructuredTypeInfo.cs
- OleDbCommand.cs
- PiiTraceSource.cs
- CodeIdentifiers.cs
- ResourceAssociationType.cs
- base64Transforms.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- WebPartConnectionsCancelEventArgs.cs
- GridViewAutomationPeer.cs
- GPPOINTF.cs
- UIElementIsland.cs
- SmiContext.cs
- ValueConversionAttribute.cs
- CustomErrorsSection.cs
- UInt32Storage.cs
- SqlClientPermission.cs
- SizeConverter.cs
- CommandField.cs
- SingleTagSectionHandler.cs
- Bind.cs
- SmiMetaData.cs
- Grant.cs
- RegexBoyerMoore.cs
- ObfuscationAttribute.cs
- DataGridViewCellConverter.cs
- Error.cs
- EventToken.cs
- DockProviderWrapper.cs
- InternalUserCancelledException.cs
- SyntaxCheck.cs
- MultiView.cs
- ContractMapping.cs
- ClientSettingsStore.cs
- ProxyHelper.cs
- NullableBoolConverter.cs
- SuppressMergeCheckAttribute.cs
- WeakReference.cs
- TypeNameConverter.cs
- WebHttpBehavior.cs
- UnaryQueryOperator.cs
- InstanceDataCollection.cs
- CompiledQuery.cs
- RadioButton.cs
- DataServiceQueryException.cs
- RowsCopiedEventArgs.cs
- DrawingContextWalker.cs
- ButtonAutomationPeer.cs
- XmlExtensionFunction.cs
- UrlAuthorizationModule.cs
- SharedPersonalizationStateInfo.cs
- WebPartZoneCollection.cs
- WindowsListViewSubItem.cs
- HostedNamedPipeTransportManager.cs
- InternalControlCollection.cs
- NamedObject.cs
- HelpFileFileNameEditor.cs
- XhtmlBasicLiteralTextAdapter.cs
- Mapping.cs
- BlockingCollection.cs
- ObjectManager.cs
- CodeGen.cs
- SettingsSection.cs
- TaskForm.cs
- AtlasWeb.Designer.cs
- XmlSchemaSimpleTypeUnion.cs
- FontStyleConverter.cs