BuildProviderCollection 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
BuildProvider 개체의 컬렉션을 나타냅니다. 이 클래스는 상속될 수 없습니다.
public ref class BuildProviderCollection sealed : System::Configuration::ConfigurationElementCollection
[System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.BuildProvider))]
public sealed class BuildProviderCollection : System.Configuration.ConfigurationElementCollection
[<System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.BuildProvider))>]
type BuildProviderCollection = class
inherit ConfigurationElementCollection
Public NotInheritable Class BuildProviderCollection
Inherits ConfigurationElementCollection
- 상속
- 특성
예제
이 섹션에서는 두 코드 예제를 제공합니다. 첫 번째 값의 여러 속성을 선언적으로 지정 하는 방법에 설명 합니다 BuildProviderCollection 클래스입니다. 두 번째 멤버를 사용 하는 방법에 설명 합니다 BuildProviderCollection 클래스입니다.
다음 구성 파일 예제에 선언적으로 일부의 속성에 대 한 값을 지정 하는 방법을 보여 줍니다는 BuildProviderCollection 클래스입니다.
<system.web>
<compilation>
<buildProviders>
<add extension=".aspx"
type="System.Web.Compilation.PageBuildProvider"
/>
<add extension=".ascx"
type="System.Web.Compilation.UserControlBuildProvider"
/>
<add extension=".master"
type="System.Web.Compilation.MasterPageBuildProvider"
/>
<add extension=".asix"
type="System.Web.Compilation.ImageGeneratorBuildProvider"
/>
<add extension=".asmx"
type="System.Web.Compilation.WebServiceBuildProvider"
/>
<add extension=".ashx"
type="System.Web.Compilation.WebHandlerBuildProvider"
/>
<add extension=".soap"
type="System.Web.Compilation.WebServiceBuildProvider"
/>
<add extension=".resx"
type="System.Web.Compilation.ResXBuildProvider"
appliesTo="Resources" />
<add extension=".resources"
type="System.Web.Compilation.ResourcesBuildProvider"
appliesTo="Code, Resources" />
<add extension=".wsdl"
type="System.Web.Compilation.WsdlBuildProvider"
appliesTo="Code" />
<add extension=".xsd"
type="System.Web.Compilation.XsdBuildProvider"
appliesTo="Code" />
</buildProviders>
</compilation>
</system.web>
다음 코드 예제에서는 멤버를 사용 하는 방법에 설명 합니다 BuildProviderCollection 클래스입니다.
#region Using directives
using System;
using System.Configuration;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingBuildProviderCollection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "";
// Get the Web application configuration object.
Configuration config =
WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
CompilationSection configSection =
(CompilationSection)config.GetSection
("system.web/compilation");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name);
// Display BuildProviderCollection count.
Console.WriteLine("BuildProviderCollection count: {0}",
configSection.BuildProviders.Count);
// Create a new BuildProvider.
BuildProvider myBuildProvider =
new BuildProvider(".myres",
"System.Web.Compilation.ResourcesBuildProvider");
// Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider);
// Create a second BuildProvider.
BuildProvider myBuildProvider2 =
new BuildProvider(".myres2",
"System.Web.Compilation.ResourcesBuildProvider");
// Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider2);
// BuildProvider Collection
int i = 1;
int j = 1;
foreach (BuildProvider BuildProviderItem in
configSection.BuildProviders)
{
Console.WriteLine();
Console.WriteLine("BuildProviders {0} Details:", i);
Console.WriteLine("Type: {0}",
BuildProviderItem.ElementInformation.Type);
Console.WriteLine("Source: {0}",
BuildProviderItem.ElementInformation.Source);
Console.WriteLine("LineNumber: {0}",
BuildProviderItem.ElementInformation.LineNumber);
Console.WriteLine("Properties Count: {0}",
BuildProviderItem.ElementInformation.Properties.Count);
j = 1;
foreach (PropertyInformation propertyItem in
BuildProviderItem.ElementInformation.Properties)
{
Console.WriteLine("Property {0} Name: {1}", j,
propertyItem.Name);
Console.WriteLine("Property {0} Value: {1}", j,
propertyItem.Value);
j++;
}
i++;
}
// Remove a BuildProvider.
configSection.BuildProviders.Remove(".myres2");
// Remove an BuildProvider.
configSection.BuildProviders.RemoveAt(
configSection.BuildProviders.Count - 1);
// Update if not locked.
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait.
Console.ReadLine();
}
}
}
Imports System.Configuration
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
Class UsingBuildProviderCollection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = ""
' Get the Web application configuration object.
Dim config As System.Configuration.Configuration = _
WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As _
System.Web.Configuration.CompilationSection = _
CType(config.GetSection("system.web/compilation"), _
System.Web.Configuration.CompilationSection)
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", _
config.FilePath)
Console.WriteLine("Section Path: {0}", _
configSection.SectionInformation.Name)
' Display BuildProviderCollection count.
Console.WriteLine("BuildProviderCollection count: {0}", _
configSection.BuildProviders.Count)
' Create a new BuildProvider.
Dim myBuildProvider As BuildProvider = _
New BuildProvider(".myres", _
"System.Web.Compilation.ResourcesBuildProvider")
' Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider)
' Create a second BuildProvider.
Dim myBuildProvider2 As BuildProvider = _
New BuildProvider(".myres2", _
"System.Web.Compilation.ResourcesBuildProvider")
' Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider2)
' BuildProvider Collection
Dim i = 1
Dim j = 1
For Each BuildProviderItem As _
BuildProvider In configSection.BuildProviders
Console.WriteLine()
Console.WriteLine("BuildProvider {0} Details:", i)
Console.WriteLine("Type: {0}", _
BuildProviderItem.ElementInformation.Type)
Console.WriteLine("Source: {0}", _
BuildProviderItem.ElementInformation.Source)
Console.WriteLine("LineNumber: {0}", _
BuildProviderItem.ElementInformation.LineNumber)
Console.WriteLine("Properties Count: {0}", _
BuildProviderItem.ElementInformation.Properties.Count)
j = 1
For Each propertyItem As PropertyInformation In _
BuildProviderItem.ElementInformation.Properties
Console.WriteLine("Property {0} Name: {1}", j, _
propertyItem.Name)
Console.WriteLine("Property {0} Value: {1}", j, _
propertyItem.Value)
j = j + 1
Next
i = i + 1
Next
' Remove an BuildProvider.
configSection.BuildProviders.Remove(".myres2")
' Remove an BuildProvider.
configSection.BuildProviders.RemoveAt( _
configSection.BuildProviders.Count - 1)
' Update if not locked.
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As Exception
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
설명
BuildProviderCollection 사용자 지정 리소스 파일을 컴파일하는 데 사용 됩니다. 빌드 공급자 수에는 제한이 없습니다. BuildProviderCollection 기본 구성 파일의 실제 요소를 참조 하지 않습니다. 포함 된 컴파일 정보에 쉽게 액세스할 수 있는 구문입니다.
생성자
BuildProviderCollection() |
BuildProviderCollection 클래스의 새 인스턴스를 초기화합니다. |
속성
메서드
명시적 인터페이스 구현
ICollection.CopyTo(Array, Int32) |
ConfigurationElementCollection을 배열에 복사합니다. (다음에서 상속됨 ConfigurationElementCollection) |
확장 메서드
Cast<TResult>(IEnumerable) |
IEnumerable의 요소를 지정된 형식으로 캐스팅합니다. |
OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. |
AsParallel(IEnumerable) |
쿼리를 병렬화할 수 있도록 합니다. |
AsQueryable(IEnumerable) |
IEnumerable을 IQueryable로 변환합니다. |