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
- StaticContext.cs
- HttpHandlerAction.cs
- HttpCacheVaryByContentEncodings.cs
- EnumConverter.cs
- ConstraintEnumerator.cs
- HwndAppCommandInputProvider.cs
- TextServicesDisplayAttributePropertyRanges.cs
- MetadataException.cs
- XPathNodePointer.cs
- InvalidProgramException.cs
- XmlBaseWriter.cs
- DataObjectCopyingEventArgs.cs
- HtmlLink.cs
- SessionStateSection.cs
- HMACSHA1.cs
- HttpPostedFile.cs
- PeerCredential.cs
- ParseElement.cs
- InternalPermissions.cs
- NetTcpBindingElement.cs
- XmlUtil.cs
- XMLSyntaxException.cs
- Viewport3DAutomationPeer.cs
- TraceHelpers.cs
- FormViewUpdateEventArgs.cs
- UniformGrid.cs
- EntityStoreSchemaGenerator.cs
- ScriptResourceAttribute.cs
- LockCookie.cs
- DCSafeHandle.cs
- WorkflowDispatchContext.cs
- DataBindingValueUIHandler.cs
- DocumentPropertiesDialog.cs
- OutputCacheSection.cs
- CurrencyWrapper.cs
- Signature.cs
- TagPrefixInfo.cs
- AttributeProviderAttribute.cs
- PersistChildrenAttribute.cs
- RoleManagerSection.cs
- BaseTreeIterator.cs
- BooleanFacetDescriptionElement.cs
- Buffer.cs
- ColumnHeader.cs
- VisualTreeUtils.cs
- WebPartEditorOkVerb.cs
- ToolboxCategoryItems.cs
- DataObject.cs
- EnumValAlphaComparer.cs
- ChangeInterceptorAttribute.cs
- CachingHintValidation.cs
- CodeAttributeDeclaration.cs
- TraceInternal.cs
- DataFormat.cs
- _AutoWebProxyScriptEngine.cs
- XmlArrayItemAttribute.cs
- AbstractSvcMapFileLoader.cs
- SudsParser.cs
- OleDbSchemaGuid.cs
- AlphabeticalEnumConverter.cs
- MsmqIntegrationBindingElement.cs
- ControlDesigner.cs
- MULTI_QI.cs
- DbTransaction.cs
- BreakRecordTable.cs
- DataGridViewCellValidatingEventArgs.cs
- MsmqMessageSerializationFormat.cs
- ResXFileRef.cs
- ColorBlend.cs
- WebPartManager.cs
- BufferedResponseStream.cs
- CompilationLock.cs
- Comparer.cs
- ProgramPublisher.cs
- HasCopySemanticsAttribute.cs
- ExpressionBuilderCollection.cs
- cryptoapiTransform.cs
- PatternMatcher.cs
- LogicalExpressionEditor.cs
- StylusButtonCollection.cs
- MetadataItemEmitter.cs
- EntityDescriptor.cs
- PrimaryKeyTypeConverter.cs
- RadioButtonPopupAdapter.cs
- ImportCatalogPart.cs
- ToolStripItemEventArgs.cs
- FormatVersion.cs
- ValidationPropertyAttribute.cs
- XmlNavigatorFilter.cs
- SignalGate.cs
- NavigationEventArgs.cs
- NullableDecimalMinMaxAggregationOperator.cs
- HierarchicalDataTemplate.cs
- InternalControlCollection.cs
- ToolStripGrip.cs
- TreeNodeBinding.cs
- TransactionManager.cs
- WebPartDeleteVerb.cs
- GlobalProxySelection.cs
- NamespaceList.cs