Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / BuildTasks / Microsoft / Build / Tasks / Windows / MergeLocalizationDirectives.cs / 1 / 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. //---------------------------------------------------------------------------- // // 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
- DataSourceComponent.cs
- OleDbInfoMessageEvent.cs
- TdsParser.cs
- PagedDataSource.cs
- TreeNodeSelectionProcessor.cs
- WebBrowserBase.cs
- GrammarBuilderPhrase.cs
- RequestCache.cs
- IndentedWriter.cs
- WebPartPersonalization.cs
- UpdateCompiler.cs
- XmlNamespaceManager.cs
- ToolStripOverflowButton.cs
- EntityTransaction.cs
- Clipboard.cs
- DateRangeEvent.cs
- EmptyCollection.cs
- MdImport.cs
- GreenMethods.cs
- TransportationConfigurationTypeInstallComponent.cs
- ConfigXmlComment.cs
- BitmapDownload.cs
- BinaryObjectWriter.cs
- HtmlInputButton.cs
- SoapReflector.cs
- WebEventTraceProvider.cs
- GenericTextProperties.cs
- DesignRelation.cs
- FileAccessException.cs
- ColorAnimationBase.cs
- ResourcesBuildProvider.cs
- BindingMAnagerBase.cs
- LicFileLicenseProvider.cs
- SetIndexBinder.cs
- SqlDataSourceFilteringEventArgs.cs
- EntityClassGenerator.cs
- Object.cs
- ProfileBuildProvider.cs
- CommonDialog.cs
- WebRequestModuleElementCollection.cs
- SettingsBindableAttribute.cs
- EventMappingSettingsCollection.cs
- TargetException.cs
- SystemIcmpV6Statistics.cs
- TabletDeviceInfo.cs
- XhtmlBasicLinkAdapter.cs
- RulePatternOps.cs
- ProxyWebPartConnectionCollection.cs
- GPPOINT.cs
- DatagridviewDisplayedBandsData.cs
- DrawingCollection.cs
- FileFormatException.cs
- PageTextBox.cs
- CoTaskMemHandle.cs
- RouteUrlExpressionBuilder.cs
- ThreadSafeList.cs
- Win32SafeHandles.cs
- DoWorkEventArgs.cs
- SvcMapFileLoader.cs
- HyperLinkStyle.cs
- StatusBarPanel.cs
- CryptoApi.cs
- DataColumnPropertyDescriptor.cs
- WindowsTitleBar.cs
- MsmqInputSessionChannelListener.cs
- DecimalMinMaxAggregationOperator.cs
- PixelFormat.cs
- LayoutTableCell.cs
- ListSourceHelper.cs
- DataGridItemEventArgs.cs
- RtfToXamlReader.cs
- EntityDesignerDataSourceView.cs
- sqlcontext.cs
- CapacityStreamGeometryContext.cs
- DbParameterCollectionHelper.cs
- ScrollItemProviderWrapper.cs
- FilterableData.cs
- TriggerCollection.cs
- TextEmbeddedObject.cs
- SerializerProvider.cs
- ExpressionBuilderContext.cs
- ZipArchive.cs
- WindowsRichEdit.cs
- CodeTryCatchFinallyStatement.cs
- SQLRoleProvider.cs
- TemplatingOptionsDialog.cs
- _ListenerRequestStream.cs
- PropertyInformationCollection.cs
- _WinHttpWebProxyDataBuilder.cs
- DesignerSerializationVisibilityAttribute.cs
- ClientBuildManagerCallback.cs
- PngBitmapEncoder.cs
- DataGridDesigner.cs
- WsdlBuildProvider.cs
- WebBaseEventKeyComparer.cs
- AppDomainManager.cs
- XmlValidatingReader.cs
- DataAccessException.cs
- EntityFrameworkVersions.cs
- ParenExpr.cs