AssemblyCollection クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
AssemblyInfo オブジェクトのコレクションを表します。 このクラスは継承できません。
public ref class AssemblyCollection sealed : System::Configuration::ConfigurationElementCollection
[System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.AssemblyInfo))]
public sealed class AssemblyCollection : System.Configuration.ConfigurationElementCollection
[<System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.AssemblyInfo))>]
type AssemblyCollection = class
inherit ConfigurationElementCollection
Public NotInheritable Class AssemblyCollection
Inherits ConfigurationElementCollection
- 継承
- 属性
例
このセクションでは、2 つのコード例を示します。 1 つ目は、クラスのいくつかのプロパティの値を宣言によって指定する方法を AssemblyCollection 示しています。 2 つ目は、クラスのメンバーを使用する方法を AssemblyCollection 示しています。
次の構成ファイルの例は、クラスのいくつかのプロパティの値を宣言によって指定する方法を AssemblyCollection 示しています。
<system.web>
<compilation>
<assemblies>
<add assembly="mscorlib" />
<add assembly="System, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Configuration, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Data, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Web.Services, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Xml, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Drawing, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.EnterpriseServices, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Mobile, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.UI.MobileControls.Adapters,
Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="*" />
</assemblies>
</compilation>
</system.web>
次のコード例は、クラスのメンバーを使用する方法を AssemblyCollection 示しています。
#region Using directives
using System;
using System.Configuration;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingAssemblyCollection
{
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);
// Create a new assembly reference.
AssemblyInfo myAssembly =
new AssemblyInfo("MyAssembly, Version=1.0.0000.0, " +
"Culture=neutral, Public KeyToken=b03f5f7f11d50a3a");
// Add an assembly to the configuration.
configSection.Assemblies.Add(myAssembly);
// Add a second assembly reference.
AssemblyInfo myAssembly2 = new AssemblyInfo("MyAssembly2");
configSection.Assemblies.Add(myAssembly2);
// Assembly Collection
int i = 1;
int j = 1;
foreach (AssemblyInfo assemblyItem in configSection.Assemblies)
{
Console.WriteLine();
Console.WriteLine("Assemblies {0} Details:", i);
Console.WriteLine("Type: {0}", assemblyItem.ElementInformation.Type);
Console.WriteLine("Source: {0}", assemblyItem.ElementInformation.Source);
Console.WriteLine("LineNumber: {0}", assemblyItem.ElementInformation.LineNumber);
Console.WriteLine("Properties Count: {0}",
assemblyItem.ElementInformation.Properties.Count);
j = 1;
foreach (PropertyInformation propertyItem in assemblyItem.ElementInformation.Properties)
{
Console.WriteLine("Property {0} Name: {1}", j, propertyItem.Name);
Console.WriteLine("Property {0} Value: {1}", j, propertyItem.Value);
j++;
}
i++;
}
// Remove an assembly.
configSection.Assemblies.Remove("MyAssembly, Version=1.0.0000.0, " +
"Culture=neutral, Public KeyToken=b03f5f7f11d50a3a");
// Remove an assembly.
configSection.Assemblies.RemoveAt(configSection.Assemblies.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 UsingAssemblyCollection
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)
' Create a new assembly reference.
Dim myAssembly As AssemblyInfo = New AssemblyInfo("MyAssembly, " + _
"Version=1.0.0000.0, Culture=neutral, Public KeyToken=b03f5f7f11d50a3a")
' Add an assembly to the configuration.
configSection.Assemblies.Add(myAssembly)
' Add a second assembly reference.
Dim myAssembly2 As AssemblyInfo = New AssemblyInfo("MyAssembly2")
configSection.Assemblies.Add(myAssembly2)
' Assembly Collection
Dim i = 1
Dim j = 1
For Each assemblyItem As AssemblyInfo In configSection.Assemblies
Console.WriteLine()
Console.WriteLine("Assemblies {0} Details:", i)
Console.WriteLine("Type: {0}", assemblyItem.ElementInformation.Type)
Console.WriteLine("Source: {0}", assemblyItem.ElementInformation.Source)
Console.WriteLine("LineNumber: {0}", assemblyItem.ElementInformation.LineNumber)
Console.WriteLine("Properties Count: {0}", assemblyItem.ElementInformation.Properties.Count)
j = 1
For Each propertyItem As PropertyInformation In assemblyItem.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 assembly.
configSection.Assemblies.Remove("MyAssembly, Version=1.0.0000.0, " + _
"Culture=neutral, Public KeyToken=b03f5f7f11d50a3a")
' Remove an assembly.
configSection.Assemblies.RemoveAt(configSection.Assemblies.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
注釈
このクラスは AssemblyCollection 、基になる構成ファイル内の実際の要素を参照しません。 これは、それに含まれるアセンブリ情報へのアクセスを許可するコンストラクトです。
コンストラクター
AssemblyCollection() |
AssemblyCollection クラスの新しいインスタンスを初期化します。 |
プロパティ
メソッド
明示的なインターフェイスの実装
ICollection.CopyTo(Array, Int32) |
ConfigurationElementCollection を配列にコピーします。 (継承元 ConfigurationElementCollection) |
拡張メソッド
Cast<TResult>(IEnumerable) |
IEnumerable の要素を、指定した型にキャストします。 |
OfType<TResult>(IEnumerable) |
指定された型に基づいて IEnumerable の要素をフィルター処理します。 |
AsParallel(IEnumerable) |
クエリの並列化を有効にします。 |
AsQueryable(IEnumerable) |
IEnumerable を IQueryable に変換します。 |