Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / BuildTasks / Microsoft / Build / Tasks / Windows / UpdateManifestForBrowserApplication.cs / 1 / UpdateManifestForBrowserApplication.cs
/////////////////////////////////////////////////////////////////////////////// // // Copyright (C) Microsoft Corporation. All rights reserved. // // UpdateManifestForBrowserApplication.cs // // Update application manifest for browser-hosted application. // // spec: http://avalon/app/Compilation/Avalon-MSBUILD%20Tasks.doc // // vivekd Created 06/17/2004 // weibz update and cleanup 06/10/2005 // /////////////////////////////////////////////////////////////////////////////// using System; using System.IO; using System.Diagnostics; using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using Microsoft.Build.Tasks; using System.Xml; using System.Xml.XPath; using Microsoft.Build.Tasks.Windows; using System.Collections; using MS.Utility; using MS.Internal.Tasks; // Since we disable PreSharp warnings in this file, PreSharp warning is unknown to C# compiler. // We first need to disable warnings about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace Microsoft.Build.Tasks.Windows { #region Manifest Creator Task class ////// Class of UpdateManifestForBrowserApplication /// public sealed class UpdateManifestForBrowserApplication : Task { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructors /// public UpdateManifestForBrowserApplication() : base(SR.ResourceManager) { } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Add hostInBrowser element node to the application manifest file. /// ///public override bool Execute() { bool successful = true; TaskHelper.DisplayLogo(Log, SR.Get(SRID.UpdateManifestForBrowserApplicationTask)); if (HostInBrowser != true) { // HostInBrowser is not true, don't modify the manifest. // Stop here. return successful; } try { string appManifestFile = ApplicationManifest[0].ItemSpec; XmlDocument manifestDocument; XmlTextReader manifestReader = null; XmlTextWriter manifestWriter = null; //Read the manifest try { manifestReader = new XmlTextReader(appManifestFile); manifestDocument = new XmlDocument(); manifestDocument.Load(manifestReader); } finally { if (manifestReader != null) { // Close the manifest reader manifestReader.Close(); } } // NOTE: // // manifestReader must be closed before the manfiestWriter can // update the document on the same manifest file. // //Get to entryPoint XML XmlNodeList entryPointList = manifestDocument.GetElementsByTagName(c_entryPoint); XmlNode entryPoint = entryPointList[0]; //Create element node for browser entry point XmlElement hostInBrowser; hostInBrowser = manifestDocument.CreateElement(c_hostInBrowser, c_asmv3); // Append HostInBrowser node to the end of list of children of entryPoint. entryPoint.AppendChild(hostInBrowser); // Update the manifest file. try { manifestWriter = new XmlTextWriter(appManifestFile, System.Text.Encoding.UTF8); manifestWriter.Formatting = Formatting.Indented; manifestWriter.Indentation = 4; manifestDocument.WriteTo(manifestWriter); } finally { if (manifestWriter != null) { // Close the manifest writer manifestWriter.Close(); } } } catch (Exception e) { // PreSharp Complaint 6500 - do not handle null-ref or SEH exceptions. if (e is NullReferenceException || e is SEHException) { throw; } else { Log.LogErrorFromException(e); successful = false; } } #pragma warning disable 6500 catch // Non-cls compliant errors { Log.LogErrorWithCodeFromResources(SRID.NonClsError); successful = false; } #pragma warning restore 6500 return successful; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //----------------------------------------------------- #region Public Properties /// /// Host In Browser /// ///[Required] public bool HostInBrowser { get { return _hostInBrowser; } set { _hostInBrowser = value; } } /// /// Application Manifest File /// ///[Required] public ITaskItem[] ApplicationManifest { get { return _applicationmanifest; } set { _applicationmanifest = value; } } #endregion Public Properties //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ #region Private Fields private ITaskItem[] _applicationmanifest; private bool _hostInBrowser = false; // // Put some predefined element or attribute name in below // const strings. // private const string c_entryPoint = "entryPoint"; private const string c_hostInBrowser ="hostInBrowser"; private const string c_asmv3= "urn:schemas-microsoft-com:asm.v3"; #endregion Private Fields } #endregion Manifest Creator Task class } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /////////////////////////////////////////////////////////////////////////////// // // Copyright (C) Microsoft Corporation. All rights reserved. // // UpdateManifestForBrowserApplication.cs // // Update application manifest for browser-hosted application. // // spec: http://avalon/app/Compilation/Avalon-MSBUILD%20Tasks.doc // // vivekd Created 06/17/2004 // weibz update and cleanup 06/10/2005 // /////////////////////////////////////////////////////////////////////////////// using System; using System.IO; using System.Diagnostics; using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using Microsoft.Build.Tasks; using System.Xml; using System.Xml.XPath; using Microsoft.Build.Tasks.Windows; using System.Collections; using MS.Utility; using MS.Internal.Tasks; // Since we disable PreSharp warnings in this file, PreSharp warning is unknown to C# compiler. // We first need to disable warnings about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace Microsoft.Build.Tasks.Windows { #region Manifest Creator Task class /// /// Class of UpdateManifestForBrowserApplication /// public sealed class UpdateManifestForBrowserApplication : Task { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructors /// public UpdateManifestForBrowserApplication() : base(SR.ResourceManager) { } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Add hostInBrowser element node to the application manifest file. /// ///public override bool Execute() { bool successful = true; TaskHelper.DisplayLogo(Log, SR.Get(SRID.UpdateManifestForBrowserApplicationTask)); if (HostInBrowser != true) { // HostInBrowser is not true, don't modify the manifest. // Stop here. return successful; } try { string appManifestFile = ApplicationManifest[0].ItemSpec; XmlDocument manifestDocument; XmlTextReader manifestReader = null; XmlTextWriter manifestWriter = null; //Read the manifest try { manifestReader = new XmlTextReader(appManifestFile); manifestDocument = new XmlDocument(); manifestDocument.Load(manifestReader); } finally { if (manifestReader != null) { // Close the manifest reader manifestReader.Close(); } } // NOTE: // // manifestReader must be closed before the manfiestWriter can // update the document on the same manifest file. // //Get to entryPoint XML XmlNodeList entryPointList = manifestDocument.GetElementsByTagName(c_entryPoint); XmlNode entryPoint = entryPointList[0]; //Create element node for browser entry point XmlElement hostInBrowser; hostInBrowser = manifestDocument.CreateElement(c_hostInBrowser, c_asmv3); // Append HostInBrowser node to the end of list of children of entryPoint. entryPoint.AppendChild(hostInBrowser); // Update the manifest file. try { manifestWriter = new XmlTextWriter(appManifestFile, System.Text.Encoding.UTF8); manifestWriter.Formatting = Formatting.Indented; manifestWriter.Indentation = 4; manifestDocument.WriteTo(manifestWriter); } finally { if (manifestWriter != null) { // Close the manifest writer manifestWriter.Close(); } } } catch (Exception e) { // PreSharp Complaint 6500 - do not handle null-ref or SEH exceptions. if (e is NullReferenceException || e is SEHException) { throw; } else { Log.LogErrorFromException(e); successful = false; } } #pragma warning disable 6500 catch // Non-cls compliant errors { Log.LogErrorWithCodeFromResources(SRID.NonClsError); successful = false; } #pragma warning restore 6500 return successful; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //----------------------------------------------------- #region Public Properties /// /// Host In Browser /// ///[Required] public bool HostInBrowser { get { return _hostInBrowser; } set { _hostInBrowser = value; } } /// /// Application Manifest File /// ///[Required] public ITaskItem[] ApplicationManifest { get { return _applicationmanifest; } set { _applicationmanifest = value; } } #endregion Public Properties //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ #region Private Fields private ITaskItem[] _applicationmanifest; private bool _hostInBrowser = false; // // Put some predefined element or attribute name in below // const strings. // private const string c_entryPoint = "entryPoint"; private const string c_hostInBrowser ="hostInBrowser"; private const string c_asmv3= "urn:schemas-microsoft-com:asm.v3"; #endregion Private Fields } #endregion Manifest Creator Task class } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlDesignerDataSourceView.cs
- FormattedText.cs
- SamlSubjectStatement.cs
- DataGridViewMethods.cs
- CodeCompileUnit.cs
- RegexCompiler.cs
- WaitHandleCannotBeOpenedException.cs
- HtmlEmptyTagControlBuilder.cs
- IPipelineRuntime.cs
- CharacterMetricsDictionary.cs
- AbsoluteQuery.cs
- CancelEventArgs.cs
- PointAnimationBase.cs
- TextDecorations.cs
- StrokeNode.cs
- EdmValidator.cs
- CollaborationHelperFunctions.cs
- CacheMemory.cs
- AcceptorSessionSymmetricTransportSecurityProtocol.cs
- DataSpaceManager.cs
- Application.cs
- PrimitiveSchema.cs
- TextBox.cs
- IdentityModelStringsVersion1.cs
- WinFormsUtils.cs
- ConnectionManagementSection.cs
- Geometry.cs
- OneOf.cs
- XmlAutoDetectWriter.cs
- ValidatorCollection.cs
- ColorConvertedBitmap.cs
- EventHandlerList.cs
- Parameter.cs
- XmlUnspecifiedAttribute.cs
- StylusPlugin.cs
- DataGridViewComboBoxCell.cs
- BufferedStream2.cs
- ConfigurationManagerInternalFactory.cs
- XPathAncestorIterator.cs
- DetailsViewDeletedEventArgs.cs
- ObjectListDesigner.cs
- SapiInterop.cs
- TrackBarDesigner.cs
- Section.cs
- EmptyEnumerator.cs
- HtmlElementCollection.cs
- TraceContext.cs
- ExternalCalls.cs
- FormViewUpdateEventArgs.cs
- SizeConverter.cs
- FixedPageProcessor.cs
- XmlNodeChangedEventManager.cs
- SinglePageViewer.cs
- SequenceDesigner.cs
- TextEvent.cs
- JpegBitmapDecoder.cs
- MetabaseReader.cs
- WebScriptMetadataFormatter.cs
- DetailsViewDeletedEventArgs.cs
- HtmlInputCheckBox.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- FontSource.cs
- SqlServer2KCompatibilityCheck.cs
- LoginView.cs
- BitmapEffectGroup.cs
- ExpressionEditorAttribute.cs
- FloaterParaClient.cs
- PassportAuthenticationModule.cs
- ApplicationFileCodeDomTreeGenerator.cs
- XamlPointCollectionSerializer.cs
- ParseChildrenAsPropertiesAttribute.cs
- CodeNamespaceImportCollection.cs
- ReturnValue.cs
- BuildProviderInstallComponent.cs
- RepeatBehavior.cs
- Hyperlink.cs
- PersonalizableAttribute.cs
- SizeF.cs
- nulltextnavigator.cs
- CodeGotoStatement.cs
- TextServicesPropertyRanges.cs
- LogicalExpr.cs
- ContainerUIElement3D.cs
- HttpModuleActionCollection.cs
- GridViewPageEventArgs.cs
- ZoneIdentityPermission.cs
- CustomTypeDescriptor.cs
- Authorization.cs
- TypeUtil.cs
- KoreanLunisolarCalendar.cs
- ActiveXHost.cs
- LambdaCompiler.cs
- NumericUpDownAccelerationCollection.cs
- DbProviderSpecificTypePropertyAttribute.cs
- InvalidFilterCriteriaException.cs
- CorrelationQueryBehavior.cs
- smtppermission.cs
- DrawListViewItemEventArgs.cs
- log.cs
- PopOutPanel.cs