Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / BuildTasks / Microsoft / Build / Tasks / Windows / MergeLocalizationDirectives.cs / 1305600 / MergeLocalizationDirectives.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: The task that merges all the localization directives files // // History: // 06/15/2005 garyyang - created // //--------------------------------------------------------------------------- using System; using System.IO; using System.Text; using System.Xml; using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using MS.Internal.Globalization; using MS.Internal.Tasks; using MS.Utility; // For SR // Since we disable PreSharp warnings in this file, we first need to disable warnings // about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace Microsoft.Build.Tasks.Windows { ////// This task merges the localization directives files of single bamls /// into one file corresponding to for the compiled assembly. /// public sealed class MergeLocalizationDirectives : Task { //-------------------------------- // Constructor //-------------------------------- ////// Default constructor of the task /// public MergeLocalizationDirectives() : base(SR.ResourceManager) { } //-------------------------------- // Public methods //-------------------------------- ////// Method invoked by MSBuild to merge localization files of single bamls to /// one file for the whole Assembly. /// public override bool Execute() { TaskHelper.DisplayLogo(Log, SR.Get(SRID.MergeLocalizationDirectivesTask)); if (GeneratedLocalizationFiles.Length > 0) { try { string absoluteFilePath = Path.Combine( Directory.GetCurrentDirectory(), _outputFile ); using (StreamWriter streamWriter = new StreamWriter( new FileStream(absoluteFilePath, FileMode.Create), new UTF8Encoding(true) ) ) { Log.LogMessageFromResources(SRID.CommentFileGenerating, _outputFile); streamWriter.WriteLine("<" + LocComments.LocDocumentRoot + ">"); // keey things simple and fast. Just keep appending the // xml fragments that are already outputed. foreach (ITaskItem item in GeneratedLocalizationFiles) { using (StreamReader locStreamReader = new StreamReader(item.ItemSpec)) { // directly concat Xml fragments streamWriter.WriteLine(locStreamReader.ReadToEnd()); } } streamWriter.WriteLine("" + LocComments.LocDocumentRoot + ">"); Log.LogMessageFromResources(SRID.CommentFileGenerated, _outputFile); } } 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); return false; } } #pragma warning disable 6500 catch // Non-CLS compliant errors { Log.LogErrorWithCodeFromResources(SRID.NonClsError); return false; } #pragma warning restore 6500 } return true; } //-------------------------------- // Public properties //-------------------------------- ////// The list of localization directives files for individual Bamls. /// [Required] public ITaskItem[] GeneratedLocalizationFiles { get { return _generatedLocalizationFiles; } set { _generatedLocalizationFiles = value; } } ////// The output path of the compiled assembly /// [Required] [Output] public string OutputFile { get { return _outputFile; } set { _outputFile = value; } } //--------------------------------- // Private members //--------------------------------- private ITaskItem[] _generatedLocalizationFiles; private string _outputFile; } } // 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
- DrawingDrawingContext.cs
- CalendarAutoFormat.cs
- SqlMethodCallConverter.cs
- Renderer.cs
- MSHTMLHostUtil.cs
- WhitespaceRuleReader.cs
- SqlDataSourceQuery.cs
- RetriableClipboard.cs
- TableItemPatternIdentifiers.cs
- MetadataCache.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- UpdatePanelControlTrigger.cs
- DataKeyArray.cs
- TypeBuilderInstantiation.cs
- GeneralTransform2DTo3DTo2D.cs
- CompilerScopeManager.cs
- WebConfigurationFileMap.cs
- MetadataItemEmitter.cs
- graph.cs
- XmlFormatMapping.cs
- CurrentTimeZone.cs
- CorrelationResolver.cs
- Logging.cs
- MetadataArtifactLoaderComposite.cs
- FormViewModeEventArgs.cs
- BrowserDefinition.cs
- ToolStripItemCollection.cs
- ListView.cs
- StaticExtension.cs
- RenderTargetBitmap.cs
- DataBindingExpressionBuilder.cs
- ThrowOnMultipleAssignment.cs
- PlainXmlWriter.cs
- FrameworkRichTextComposition.cs
- Canonicalizers.cs
- MachineKeySection.cs
- ProxyWebPartConnectionCollection.cs
- StylusPointProperties.cs
- ViewManager.cs
- MethodAccessException.cs
- ByteAnimation.cs
- ScrollViewerAutomationPeer.cs
- PageAsyncTask.cs
- FieldNameLookup.cs
- SmtpDigestAuthenticationModule.cs
- KeyEventArgs.cs
- TypeExtension.cs
- MulticastOption.cs
- UnsafeNativeMethods.cs
- SafeMILHandle.cs
- _ConnectionGroup.cs
- EdmItemError.cs
- RegexCaptureCollection.cs
- SqlTriggerContext.cs
- DataTemplateKey.cs
- FixedPageAutomationPeer.cs
- TextMetrics.cs
- PropertyToken.cs
- ManagementEventArgs.cs
- CompressStream.cs
- TokenDescriptor.cs
- DataGridViewColumnCollection.cs
- GiveFeedbackEvent.cs
- EnvironmentPermission.cs
- SerializationEventsCache.cs
- SpoolingTaskBase.cs
- MessagePropertyDescriptionCollection.cs
- CodeGenerator.cs
- LinqDataSourceUpdateEventArgs.cs
- TimeSpanOrInfiniteConverter.cs
- MailAddressParser.cs
- HttpBrowserCapabilitiesWrapper.cs
- InputReferenceExpression.cs
- HebrewNumber.cs
- ConfigurationManagerInternalFactory.cs
- SocketPermission.cs
- ButtonPopupAdapter.cs
- Types.cs
- Double.cs
- CapabilitiesAssignment.cs
- LOSFormatter.cs
- FieldAccessException.cs
- XmlSchemaFacet.cs
- OLEDB_Util.cs
- ImageCodecInfoPrivate.cs
- Manipulation.cs
- FileVersion.cs
- FullTextBreakpoint.cs
- Pkcs7Signer.cs
- LinqDataSourceSelectEventArgs.cs
- StringHelper.cs
- WebServiceParameterData.cs
- WebPartManagerInternals.cs
- CurrencyManager.cs
- TablePattern.cs
- InputLangChangeEvent.cs
- CodeSnippetCompileUnit.cs
- FileLogRecordEnumerator.cs
- JoinTreeSlot.cs
- FacetValues.cs