Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Compilation / XsdBuildProvider.cs / 3 / XsdBuildProvider.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Compilation { using System; using System.IO; using System.Data; using System.Data.Design; using System.Globalization; using System.Xml; using System.Xml.Schema; using System.Reflection; using System.CodeDom; using System.CodeDom.Compiler; using System.Web.Hosting; using System.Web.Configuration; using System.Collections; using Util=System.Web.UI.Util; #if !FEATURE_PAL // FEATURE_PAL does not support System.Data.Design using TypedDataSetGenerator=System.Data.Design.TypedDataSetGenerator; #endif // !FEATURE_PAL [BuildProviderAppliesTo(BuildProviderAppliesTo.Code)] internal class XsdBuildProvider: BuildProvider { public override void GenerateCode(AssemblyBuilder assemblyBuilder) { #if !FEATURE_PAL // FEATURE_PAL does not support System.Data.Design // Get the namespace that we will use string ns = Util.GetNamespaceFromVirtualPath(VirtualPathObject); // We need to use XmlDocument to parse the xsd file is order to open it with the // correct encoding (VSWhidbey 566286) XmlDocument doc = new XmlDocument(); using (Stream stream = OpenStream()) { doc.Load(stream); } String content = doc.OuterXml; // Generate a CodeCompileUnit from the dataset CodeCompileUnit codeCompileUnit = new CodeCompileUnit(); CodeNamespace codeNamespace = new CodeNamespace(ns); codeCompileUnit.Namespaces.Add(codeNamespace); // Devdiv 18365 // Call a different Generate method if compiler version is v3.5 bool isVer35 = CompilationUtil.IsCompilerVersion35(assemblyBuilder.CodeDomProvider.GetType()); if (isVer35) { TypedDataSetGenerator.GenerateOption generateOptions = TypedDataSetGenerator.GenerateOption.None; generateOptions |= TypedDataSetGenerator.GenerateOption.HierarchicalUpdate; generateOptions |= TypedDataSetGenerator.GenerateOption.LinqOverTypedDatasets; Hashtable customDBProviders = null; TypedDataSetGenerator.Generate(content, codeCompileUnit, codeNamespace, assemblyBuilder.CodeDomProvider, customDBProviders, generateOptions); } else { TypedDataSetGenerator.Generate(content, codeCompileUnit, codeNamespace, assemblyBuilder.CodeDomProvider); } // Add all the assembly references needed by the generated code if (TypedDataSetGenerator.ReferencedAssemblies != null) { foreach (Assembly a in TypedDataSetGenerator.ReferencedAssemblies) { assemblyBuilder.AddAssemblyReference(a); } } // Add the CodeCompileUnit to the compilation assemblyBuilder.AddCodeCompileUnit(this, codeCompileUnit); #else // !FEATURE_PAL throw new NotImplementedException("System.Data.Design - ROTORTODO"); #endif // !FEATURE_PAL } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextAdaptor.cs
- HttpWebRequest.cs
- GlobalizationSection.cs
- TypeReference.cs
- PathFigureCollection.cs
- DocumentEventArgs.cs
- Menu.cs
- RtfToken.cs
- TextDocumentView.cs
- StandardToolWindows.cs
- WebPartDisplayModeEventArgs.cs
- NameValueCollection.cs
- Ipv6Element.cs
- PropertyPath.cs
- SQLDoubleStorage.cs
- HotSpot.cs
- LogReserveAndAppendState.cs
- StartUpEventArgs.cs
- WebSysDescriptionAttribute.cs
- SecurityProtocolCorrelationState.cs
- ReferencedCollectionType.cs
- Rect3DConverter.cs
- FixedTextBuilder.cs
- DrawToolTipEventArgs.cs
- EntryPointNotFoundException.cs
- NativeActivityFaultContext.cs
- ImmutableCommunicationTimeouts.cs
- ObjectSpanRewriter.cs
- PropertyManager.cs
- VectorConverter.cs
- TextEditorCopyPaste.cs
- IsolatedStorageException.cs
- PersonalizationStateInfoCollection.cs
- SchemeSettingElement.cs
- PenThreadWorker.cs
- COM2IDispatchConverter.cs
- XMLSchema.cs
- UIPermission.cs
- LocalValueEnumerator.cs
- SrgsGrammarCompiler.cs
- GZipStream.cs
- DrawingDrawingContext.cs
- ReadOnlyDictionary.cs
- ConnectorDragDropGlyph.cs
- BaseCodePageEncoding.cs
- TagMapInfo.cs
- ImagingCache.cs
- RepeatButton.cs
- ContextInformation.cs
- EventWaitHandleSecurity.cs
- EncodingInfo.cs
- MenuItemBinding.cs
- SystemTcpConnection.cs
- ParseChildrenAsPropertiesAttribute.cs
- DbConnectionPool.cs
- Function.cs
- JsonClassDataContract.cs
- XmlConvert.cs
- SqlBulkCopyColumnMapping.cs
- DataSourceCacheDurationConverter.cs
- MailMessageEventArgs.cs
- MoveSizeWinEventHandler.cs
- UnauthorizedAccessException.cs
- ChildTable.cs
- DataTableTypeConverter.cs
- NativeMethods.cs
- PreviewPrintController.cs
- Rectangle.cs
- TrustSection.cs
- FtpWebResponse.cs
- ProviderConnectionPointCollection.cs
- Stylus.cs
- MdiWindowListItemConverter.cs
- DragEvent.cs
- PrintPreviewControl.cs
- ActivityXamlServices.cs
- LinqDataSourceUpdateEventArgs.cs
- LoopExpression.cs
- StorageEntityTypeMapping.cs
- SEHException.cs
- BooleanToVisibilityConverter.cs
- HtmlControl.cs
- AutomationElementCollection.cs
- XPathException.cs
- DesignerView.xaml.cs
- ComplexLine.cs
- CompletedAsyncResult.cs
- TextElementAutomationPeer.cs
- InternalControlCollection.cs
- MetadataStore.cs
- ByteRangeDownloader.cs
- XmlWrappingWriter.cs
- XmlTextAttribute.cs
- Stack.cs
- SRGSCompiler.cs
- PlainXmlSerializer.cs
- ReturnEventArgs.cs
- BaseTemplateBuildProvider.cs
- HealthMonitoringSectionHelper.cs
- EntityType.cs