This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

AssemblyBuilder الفئة

Visual Studio 2010

توفير حاوية ل إنشاء? تجميع من مسار ظاهري واحد أو أكثر ضمن مشروع ASP.NET.

مساحة الاسم:  System.Web.Compilation
التجميع:  System.Web (في System.Web.dll)

public class AssemblyBuilder

مثيلات AssemblyBuilderالفئة مستخدمة مع BuildProviderالوظائف لفئة إلى إنشاء ملف واحد أو أكثر إلى التجميع المترجمة.

BuildProvider تعريف الفئة وظائف البناء للفرد ملفات، و AssemblyBuilderتضم فئة تعليمات برمجية المصدر contributed قبل كل BuildProviderمثيل في تجميع مفرد. ASP.NET بنية مسارات بيئة AssemblyBuilderالكائن إلى BuildProviderوظائف عند بنية تجميع من واحد أو أكثر من ملف s، وكل ذلك BuildProviderمثيل يمكن المساهمة في تعليمات برمجية المصدر به ملف للتجميع الكلي.

تحدد بيئة التصنيع ASP.NET لغة ومترجم مطلوب بالملفات الموجودة في مشروع، استناداً BuildProvider.CodeCompilerTypeخاصية. بنية بيئة مجموعات الملفات استناداً إلى تجميع من ملفات تتطلب برنامج التحويل البرمجي في نفس إعدادات المحول البرمجي و بنية s الخاصة بهم.

CodeDomProvider خاصية إلى CodeDomProviderالتنفيذ التي ASP.NET بنية بيئة يستخدم ترجمة تجميع من تعليمات برمجية المصدر contributed ببعضها BuildProviderالتنفيذ.

BuildProvider مساهمة الكائن المصدر تعليمات برمجية إنشاء رسم شكل DOM تعليمات برمجية بياني استخدام AddCodeCompileUnitالأسلوب. BuildProvider كائن بعينه يشارك بالتعليمات البرمجية المصدر المخزنة في فعلى ملف استخدام CreateCodeFileالأسلوب.

بعد كل BuildProviderكائن بعينه يشارك بالتعليمات البرمجية المصدر باستخدام المناسب AssemblyBuilderوظائف، ASP.NET بيئة يستخدم بناء AssemblyBuilderالفئة إلى ترجمة تعليمات برمجية المصدر التي تم تجميعها في إلى على تجميع.

The following تعليمات برمجية مثال illustrates a simple بنية موفر implementation, inheriting من the abstract BuildProvider فئة الأساس. The بنية موفر overrides the CodeCompilerType, GetGeneratedType, و GenerateCode الأعضاء of the فئة الأساس.

في GenerateCodeإضافة تطبيق الأسلوب، إنشاء الموفر تم إنشاؤه تعليمات برمجية لاستخدام التحويل البرمجي تجميع CreateCodeFileالأسلوب. The مثال does not تضمين the implementation of the SampleClassGenerator فئة. لمزيد من المعلومات، راجع CodeCompileUnit.


using System;
using System.Collections;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Compilation;
using System.CodeDom.Compiler;
using System.CodeDom;
using System.Security;
using System.Security.Permissions;

// Define a simple build provider implementation.
[PermissionSet(SecurityAction.Demand, Unrestricted = true)]
public class SampleBuildProvider : BuildProvider
{
    // Define an internal member for the compiler type.
    protected CompilerType _compilerType = null;

    public SampleBuildProvider()
    {
		// Set the compiler to use Visual Basic.
		_compilerType = GetDefaultCompilerTypeForLanguage("C#");
	}

    // Return the internal CompilerType member 
    // defined in this implementation.
    public override CompilerType CodeCompilerType
    {
        get { return _compilerType; }
    }

    // Define a method that returns details for the 
    // code compiler for this build provider.
    public string GetCompilerTypeDetails()
    {
        StringBuilder details = new StringBuilder("");

        if (_compilerType != null)
        {
            // Format a string that contains the code compiler
            // implementation, and various compiler details.

            details.AppendFormat("CodeDomProvider type: {0}; \n",
                _compilerType.CodeDomProviderType.ToString());
            details.AppendFormat("Compiler debug build = {0}; \n",
                _compilerType.CompilerParameters.IncludeDebugInformation.ToString());
            details.AppendFormat("Compiler warning level = {0}; \n",
                _compilerType.CompilerParameters.WarningLevel.ToString());

            if (_compilerType.CompilerParameters.CompilerOptions != null)
            {
                details.AppendFormat("Compiler options: {0}; \n",
                    _compilerType.CompilerParameters.CompilerOptions.ToString());
            }
        }
        return details.ToString();
    }


    // Define the build provider implementation of the GenerateCode method.
    public override void GenerateCode(AssemblyBuilder assemBuilder)
    {
        // Generate a code compile unit, and add it to
        // the assembly builder.

        TextWriter tw = assemBuilder.CreateCodeFile(this);
        if (tw != null)
        {
            try
            {
                // Generate the code compile unit from the virtual path.
                CodeCompileUnit compileUnit = SampleClassGenerator.BuildCompileUnitFromPath(VirtualPath);

                // Generate the source for the code compile unit, 
                // and write it to a file specified by the assembly builder.
                CodeDomProvider provider = assemBuilder.CodeDomProvider;
                provider.CreateGenerator().GenerateCodeFromCompileUnit(compileUnit, tw, null);
            }
            finally
            {
                tw.Close();
            }
        }
    }

    public override System.Type GetGeneratedType(CompilerResults results)
    {
        string typeName = SampleClassGenerator.TypeName;

        return results.CompiledAssembly.GetType(typeName);
    }
}


System.Object
  System.Web.Compilation.AssemblyBuilder

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: