e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
51 lines
1.7 KiB
C#
51 lines
1.7 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="SettingsBuildProvider.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
// Settings files are cut per DevDiv 32258
|
|
#if SETTINGS_FILE_SUPPORT
|
|
|
|
namespace System.Web.Compilation {
|
|
|
|
using System;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
#if !FEATURE_PAL
|
|
using System.Configuration.Design;
|
|
#endif
|
|
using System.Xml;
|
|
using System.CodeDom;
|
|
using System.CodeDom.Compiler;
|
|
using System.Web.Hosting;
|
|
using System.Web.Util;
|
|
using Util=System.Web.UI.Util;
|
|
|
|
internal class SettingsBuildProvider: BuildProvider {
|
|
|
|
public override void GenerateCode(AssemblyBuilder assemblyBuilder) {
|
|
#if !FEATURE_PAL // FEATURE_PAL does not support System.Configuration.Design
|
|
CodeCompileUnit codeCompileUnit = new CodeCompileUnit();
|
|
|
|
// Process the .settings file and generate a CodeCompileUnit from it
|
|
using (Stream stream = VirtualPathProvider.OpenFile(VirtualPath)) {
|
|
using (TextReader reader = new StreamReader(stream)) {
|
|
SettingsSingleFileGenerator.Generate(
|
|
reader, codeCompileUnit, assemblyBuilder.CodeDomProvider, TypeAttributes.Public);
|
|
}
|
|
}
|
|
|
|
// Add the CodeCompileUnit to the compilation
|
|
assemblyBuilder.AddCodeCompileUnit(this, codeCompileUnit);
|
|
#else // !FEATURE_PAL
|
|
throw new NotImplementedException("System.Configuration.Design - ROTORTODO");
|
|
#endif // !FEATURE_PAL
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|