Đề tài Xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình trong môi trường lập trình Visual Studio .NET 2003

Tất cả các đối tượng và các thành viên trong mô hình tự động hoá Visual Studio.NET đều dựa trên đối tượng DTE. Đối tượng DTE tiêu biểu cho môi trường phát triển được tích hợp trên Visual Studio.NET và là đối tượng trên cùng trong mô hình hệ thống cấp bậc. Nó đặt trong một không gian tên gọi là EnvDTE. Tên của sản phẩm tạo ra trên .NET đối với không gian tên này là “envdte” và được chứa đựng trong một file gọi là envdte.dll. Tên thư viện có dạng như COM là Microsoft Development Environment 7.0” và được chứa đựng trong file gọi là dte.olb.

doc24 trang | Chia sẻ: vietpd | Lượt xem: 1395 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình trong môi trường lập trình Visual Studio .NET 2003, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KIẾN THỨC MÔI TRƯỜNG PHÁT TRIỂN VÀ ADD-IN Môi trường phát triển DTE Đối tượng DTE Là đối tượng trên cùng trong mô hình đối tượng tự động hoá của bộ Visual Studio. Tất cả các đối tượng và các thành viên trong mô hình tự động hoá Visual Studio.NET đều dựa trên đối tượng DTE. Đối tượng DTE tiêu biểu cho môi trường phát triển được tích hợp trên Visual Studio.NET và là đối tượng trên cùng trong mô hình hệ thống cấp bậc. Nó đặt trong một không gian tên gọi là EnvDTE. Tên của sản phẩm tạo ra trên .NET đối với không gian tên này là “envdte” và được chứa đựng trong một file gọi là envdte.dll. Tên thư viện có dạng như COM là Microsoft Development Environment 7.0” và được chứa đựng trong file gọi là dte.olb. Đối tượng DTE được cung cấp tới bạn qua phương thức OnConnection mà bạn cài đặt khi tạo ra một đối tượng Add-In. Đối tượng DTE là đối tượng Application trong Visual Basic. Hình 2.1: Mô hình đối tượng tự động trên Visual Studio .NET Để truy cập tới các thuộc tính chỉ định trong dự án như VBProjects hay CSharpProjects, hãy dùng cấu trúc DTE.GetObject(“VBProjects”). Minh hoạ: Sub DTEExample() Dim objTextDoc As TextDocument Dim objEP As EditPoint 'Tạo một tài liệu văn bản mới. DTE.ItemOperations.NewFile("General\Text File") 'Lấy quyền điều khiển tới tài liệu mới. Set objTextDoc = DTE.ActiveDocument.Object("TextDocument") Set objEP = objTextDoc.StartPoint.CreateEditPoint 'Tạo một EditPoint và thêm đoạn văn bản. objEP.Insert "A test sentence." End Sub Thêm một tham chiếu tới không gian tên EnvDTE Dù bạn chọn đối tượng .NET assembly hay loại thư viện dạng COM tuỳ thuộc vào project của bạn. Khi bạn tạo một đối tượng Add-in sử dụng trình Add-In Wizard (trong bất kỳ ngôn ngữ nào) hay khi bạn tạo một macro, thì một tham chiếu tới không gian tên EnvDTE được thiết lập sẵn cho bạn. Nếu bạn muốn truy cập tới phần bên ngoài của các đối tượng tự động hoá của các đối tượng macro hay các đối tượng Add-in được tạo bởi trình Add-In Wizard thì bạn phải thiết lập bằng tay tham chiếu này. Để thêm một tham chiếu tới không gian tên EnvDTE trong Visual C# .NET, ta thực hiện như sau: Trong khung Solution Explorer, bạn click phải chuột trên project node hoặc trên Reference node và chọn AddReference. Trong hộp thoại Add Reference, click vào tab có kiểu component mà bạn muốn, như .NET hay COM. Tìm trong danh sách các component và chọn envdte hay Microsoft Development Environment 7.0, sau đó click OK. Tham chiếu đối tượng DTE Một khi project của bạn đã có tham chiếu tới môi trường EnvDTE, thì bạn có thể thiết lập một tham chiếu tới đối tượng DTE theo đoạn code sau: EnvDTE.DTE myDTE; myDTE = (EnvDTE.DTE)Microsoft.VisualBasic.Interaction.CreateObject("VisualStudio.DTE.7.1", ""); -or- EnvDTE.DTE dte; DTE = (EnvDTE.DTE)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.7.1") // Lấy một thực thể của môi // trường Visual Studio .NET IDE hiện hành đang chạy. Nhưng để truy cập vào bên trong môi trường phát triển của VS.NET 2003, lấy mã lỗi và hiển thị trên VS.NET 2003, chương trình cần sử dụng các đối tượng sau đây làm việc như các macro: đối tượng Events, BuildEvents, CommandEvents, TaskListEvents, OutputWindowEvents, Window, OutputWindowPane và các phương thức sự kiện OnConnect, OnStartupComplete, OnAddInsUpdate, OnBeginShutdown, OnDisconnection. Những đối tượng chính trong project Đối tượng Events Cho phép truy cập tới tất cả các sự kiện trong mô hình mở rộng. Các sự kiện này cũng có thể được phơi bày từ các đối tượng chỉ định bên trong mô hình mở rộng DTE. DTE Events Nhận xét: Mô hình tự động hoá chứa đựng một đối tượng sự kiện gốc Events mà các clients cùng loại được viết ở bất kì ngôn ngữ nào cũng có thể tham chiếu tới các sự kiện tự động hoá. Các công cụ IDE , các loại project khác nhau, ... có thể thêm các sự kiện bổ sung tới đối tượng Events mà chúng chỉ định. Minh hoạ: Public Module Module1 Dim WithEvents bldevents As BuildEvents Dim applicationObject As EnvDTE.DTE Sub EventsExample() Dim addInInstance As EnvDTE.AddIn applicationObject = CType(Application, EnvDTE.DTE) bldevents = CType(applicationObject.Events.BuildEvents, EnvDTE.BuildEvents) End Sub Private Sub bldevents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles bldevents.OnBuildDone MsgBox("Build complete") End Sub End Module Đối tượng BuildEvents Cung cấp các sự kiện cho giải pháp tạo dựng. DTE Events BuildEvents Thuộc tính: public BuildEvents BuildEvents {get;} Trả về đối tượng BuildEvents, cung cấp các sự kiện cho các giải pháp xây dựng. Các sự kiện: Sự kiện Hoạt động OnBuildBegin Xuất hiện trước khi solution xây dựng, trước khi dự án bắt đầu xây dựng OnBuildDone Xuất hiện sau khi một solution hoàn tất quá trình xây dựng. OnBuildProjConfigBegin Xuất hiện khi việc định hình một dự án bắt đầu. OnBuildProjConfigDone Xuất hiện khi việc định hình một dự án kết thúc. Bảng 2.1: Sự kiện và hoạt động của đối tượng BuildEvents Đối tượng CommandEvents Cung cấp các sự kiện dòng lệnh cho các client tự động hoá. DTE Events CommandEvents Thuộc tính: public CommandEvents CommandEvents( string Guid, int ID ) {get;} Tham số: Guid: được yêu cầu. Đây là GUID cho nhóm lệnh. Nếu Guid là Null hoặc Nothing, thì CommandEvents trả về một đối tượng CommandEvents tượng trưng cho tất cả các lệnh trong môi trường. ID: được yêu cầu. Một chỉ mục trong nhóm lệnh tương ứng với lệnh cụ thể. Nếu ID là Null hay Nothing, thì CommandEvents trả về một đối tượng CommandEvents tượng trưng cho tất cả các lệnh trong nhóm. Giá trị trả về: Một đối tượng CommandEvents. Các sự kiện: Sự kiện Hoạt động AfterExecute Xuất hiện sau khi một lệnh thực thi BeforeExecute Xuất hiện trước khi một lệnh thực thi Bảng 2.2: Sự kiện và hoạt động của đối tượng CommandEvents Nhận xét: Đối tượng CommandEvents được trả về bởi thuộc tính CommandEvents của đối tượng Events. Minh hoạ: Public WithEvents CommandEvents As EnvDTE.CommandEvents Public Sub CommandEvents_AfterExecute(ByVal Guid As String, ByVal ID As Integer, ByVal CustomIn As Object, ByVal CustomOut As Object) Handles CommandEvents.AfterExecute MsgBox("test") End Sub Đối tượng TaskListEvents Cung cấp các sự kiện cho các thay đổi tới danh sách tác vụ. DTE Events TaskListEvents Thuộc tính: public TaskListEvents TaskListEvents( string Filter ) {get;} Tham số: Filter: tuỳ chọn. Đây là tên của danh mục tác vụ. Nếu Filter được hỗ trợ, thì đối tượng TaskListEvents chỉ cung cấp các sự kiện cho danh mục đó. Nếu Filter không được hỗ trợ một giá trị danh mục hợp lệ, thì thuộc tính TastListEvents bị hỏng. Giá trị trả về: Một đối tượng TaskListEvents. Các sự kiện: Sự kiện Hoạt động TaskAdded Xuất hiện khi một tác vụ mới được thêm tới Task List. TaskModified Xuất hiện khi một tác vụ trong Task List được sửa đổi. TaskNavigated Xuất hiện lập tức trước khi bạn điều hướng tới nguồn của một tác vụ trong Task List. TaskRemoved Xuất hiện khi một tác vụ bị loại bỏ khỏi Task List. Bảng 2.3: Sự kiện và hoạt động của đối tượng TaskListEvents Ghi chú: Đối tượng TaskListEvents được trả về bởi DTE.Events. Đối tượng OutputWindowEvents Cung cấp các thay đổi tới cửa sổ Output. DTE Events OutputWindowEvents Thuộc tính: public OutputWindowEvents OutputWindowEvents( string Pane ) {get;} Tham số: Pane: tuỳ chọn. Đây là tên của một cửa sổ kết quả Output. Nếu Pane được hỗ trợ, thì đối tượng OutputWindowEvents chỉ cung cấp các sự kiện cho khung đó. Giá trị trả về: Khung không cần phải tồn tại khi đối tượng OutputWindowEvents được tạo. Nếu khung được tạo bất kỳ lúc nào thì các sự kiện sẽ được tự động cung cấp cho nó. Các sự kiện Sự kiện Hoạt động PaneAdded Xuất hiện khi một khung cửa sổ Output mới được tạo PaneClearing Xuất hiện khi tất cả văn bản trong khung cửa sổ Output bị xoá PaneUpdated Xuất hiện khi văn bản mới được thêm tới một khung trong cửa sổ Output. Bảng 2.4: Sự kiện và hoạt động của đối tượng OutputWindEvents Ghi chú: Đối tượng OutputWindowEvents được trả về bởi DTE.Events. Đối tượng Window Đối tượng Window hiển thị một cửa sổ trong môi trường. DTE Windows Window Thuộc tính: public Window Window {get;} Giá trị trả về: Một đối tượng Window. Minh hoạ: Sub WindowExample() Dim objTW As TextWindow Dim objPane As TextPane Dim objStart As TextPoint objTW = ActiveWindow.Object objPane = objTW.ActivePane MsgBox("The active pane is " & Str(objPane.Height) & " lines high and " & Str(objPane.Width) & " columns wide.") objStart = objPane.StartPoint MsgBox("It begins at line " & Str(objStart.Line) & ", column " & Str(objStart.LineCharOffset) & ".") objPane.Window.Close() End Sub Đối tượng OutputWindowPane Hiển thị một khung trong cửa sổ Output. DTE Windows Window OutputWindow OutputWindowPanes OutputWindowPane Ghi chú: Cửa sổ Output hiển thị kết quả dạng văn bản. Cửa sổ Output có thể có một hay nhiều khung, được hiển thị bởi đối tượng OutputWindowPane. Mỗi công cụ IDE sự dụng một khung cửa sổ output khác nhau. Các khung được chọn với một hộp xổ xuống tại đỉnh của cửa sổ. Chẳng hạn, quá trình build errors thì đi với khung “Build Errors”, trong khi mỗi công cụ lệnh bên ngoài đi với khung cửa sổ output riêng biệt của nó. Minh hoạ: Sub OutputWindowPaneExample() ' Create a tool window handle for the Output window. Dim win As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput) ' Create handles to the Output window and its panes. Dim OW As OutputWindow = win.Object Dim OWp As OutputWindowPane ' Add a new pane to the Output window. OWp = OW.OutputWindowPanes.Add("A New Pane") ' Add a line of text to the new pane. OWp.OutputString("Some Text") End Sub Kỷ thuật Add-In Để tạo một công cụ cho một nhiệm vụ hoặc để tạo một công cụ để giúp những lập trình viên khác tạo ra các phần mền của họ, bạn có thể sử dụng mô hình với kỹ thuật tự động trên Visual Studio .NET. mô hình với kỹ thuật tự động, được biết đến trong phiên bản trước của Visual Studio .NET như mô hình có khả năng mở rộng, là một giao diện lập trình cho phép bạn truy cập tới các thủ tục bên dưới có chạy môi trường phát triển được tích hợp, cho phép hiệu chỉnh, thao tác và tự động hoá nó. Chẳng hạn, bạn có thể tạo các dự án và các mục lục dự án một cách lập trình hay tự động hoá việc xây dựng một dự án và các tiến trình triển khai dự án. Chú ý: Khả năng mở rộng là khả năng cho phép phát triển và mở rộng chức năng của IDE. Kỹ thuật tự động hoá nói đến mã được tạo ra theo thao tác của user và các công cụ mà tự động hoá các tác vụ trong môi trường và chạy IDE theo cách được lập trình. Bạn có thể truy cập tới mô hình tự động hoá thông qua các macro trên VS.NET (VSMacros), bằng cách tạo các mở rộng cho IDE dc gọi là Add-in, hay bằng cách cài đặt một mục mới hoặc các Add Project wizard . Các Add-in được biên dịch thành các app mà có thể thao tác với môi trường làm việc và các tác vụ tự động hoá. Các Add-in có thể được triệu gọi theo một trong các cách khác nhau, bao gồm Add-in Manager, toolbar command hay các nút, các dòng lệnh, hay thông qua các sự kiện như khởi động IDE. Trong phần hỗ trợ tới mô hình đối tượng chung được cung cấp bởi Visual Studio .NET tới tất cả các ngôn ngữ lập trình , các công cụ và các gói của nó, riêng với các ngôn ngữ lập trình trên Visual Studio .NET cũng có thể cung cấp các bổ sung kỹ thuật riêng của chúng tới mô hình đối tượng tự động hoá nhằm hỗ trợ các đặc điểm riêng biệt và các thành phần. Tất yếu bạn có thể tạo một đối tượng Add-in mà làm việc rất tốt với bất kỳ ngôn ngữ nào trên Visual Studio .NET, hay đối với ngôn ngữ nào được ghép vào để cung cấp những điểm đặc biệt của một ngôn ngữ riêng biệt, chẳng hạn VB hay VC++. Tạo một đối tượng Add-in Trình Add-in Wizard cho phép tạo một đối tượng Add-in với đầy đủ các khung chức năng mà có thể chạy ngay sau khi bạn hoàn tất nó. Sau khi trình Add-in Wizard tạo một bộ khung cơ bản, bạn có thể thêm code tới nó và hiệu chỉnh nó. Chú ý: các đối tượng dc tạo trong VS.NET 2003 sẽ không làm việc chính xác trong VS.NET 2002. Bạn có thể tạo một macro để truy cập tới mô hình tự động hoá trên VS như một sự lựa chọn cho việc tạo ra một đối tượng Add-in. Các bước tạo đối tượng Add-in bằng Wizard H ình 2.2: Tạo Add-in project bằng tr ình Visual Studio Add-in Wizard Trình Add-in Wizard cho phép bạn cung cấp một tên hiển thị và mô tả cho đối tượng Add-in, cả hai xuất hiện trong hộp thoại Add-In Manager. Bạn có thể chọn để cho trình Wizard tạo mã mà cho phép thêm một lệnh tới menu Tools để load và triệu gọi đối tượng Add-in. Khi trình Wizard hoàn tất, bạn có được môt project mới với một môđun đơn giản để cài đặt đối tượng Add-in. Bạn cũng có được setup project để tạo ra file .msi mà có thể được dùng để cài đặt đối tượng Add-in trên hệ thống khác (hay để cập nhật việc đăng ký của đối tượng Add-in trên máy triển khai mà đôi khi là cần thiết đối với những gì mà bạn làm với đối tượng Add-in của bạn). Các bước thực hiện: Tạo một VS Add-In project mới. Bạn có thể tìm thấy project này từ mục Extensibility Projects bên dưới Other Projects Chọn một ngôn ngữ từ khung Select a Programming Language. Điều này cho phép bạn chọn một ngôn ngữ đối với đối tượng Add-in được tạo ra. Chọn một hoặc nhiều ứng dụng từ khung Select an Application Host. Điều này cho phép bạn chọn các ứng dụng mà bạn cũng muốn chạy đối tượng Add-in sau khi tạo. Nhập vào tên và mô tả cho đối tượng Add-in của bạn trong khung Enter a Name and Description. Tên này sẽ được hiển thị trong danh sách Available Add-Ins của hộp thoại Add-In Manager và cho các user biết được đối tượng Add-in làm gì, làm như thế nào, và hơn thế nữa. Trong khung Choose Add-in Options, hãy chỉ định những gì mà bạn muốn đối tượng Add-in xuất hiện trong menu Tools, khi nào bạn muốn đối tượng Add-in xuất hiện, và những gì mà đối tượng sẽ cho phép đối với các đối tượng khác hoặc không. Điều này cho phép bạn chỉ định các tuỳ chọn theo thói quen chắc chắn cho đối tượng Add-in của bạn. Trong khung Choosing Help About Information, hãy chỉ định những gì bạn muốn về một hộp thông tin Help About, và nếu thế, hãy chỉ định thông tin mà bạn muốn hiển thị. Điều này cho phép bạn tạo một cửa sổ Help About chứa các thông tin về phiên bản, thông tin hỗ trợ, thông tin bản quyền cho đối tượng Add-in của bạn và hơn thế nữa. Sau 6 bước, các tuỳ chọn mà bạn đã chọn được hiển thị trong một trang tổng kết. Chọn Finish để tạo đối tượng Add-in. Lúc này bạn có được một đối tượng Add-in với đầy đủ các chức năng, nhưng còn rỗng. Kết quả các lệnh của đối tượng Add-in Khi bạn tạo ra một đối tượng Add-in sử dụng trình Add-in Wizard và sau khi chạy nó, một thực thể khác của VS.NET khởi động, cho phép bạn kiểm tra và bãy lỗi đối tượng tổng kết. Một hoặc nhiều lệnh cho đối tượng Add-in được đặt trên một hoặc nhiều menu, chẳng hạn menu Tools. Sau khi bạn hoàn tất bước bãy lỗi đối tượng Add-in và sau đó đóng lại thực thể thứ hai của VS.NET, thông tin về lệnh sẽ được lưu lại. Để phục hồi các lệnh của đối tượng Add-in tới menu Các bước thực hiện: Xây dựng setup project đã bởi trình wizard. Đóng tất cả các thực thể của VS.NET. Chạy file .msi từ setup project. Khởi động lại VS.NET. Từ bây giờ, khi chạy VS.NET, các lệnh của đối tượng Add-in sẽ được hiển thị trên các menu. Trình setup project sẽ xây dựng và cài đặt nhanh hơn nếu bạn xác định nó loại trừ môđun kết hợp có thể phân phối lại khi chạy trên .NET Runtime. Điều khiển đối tượng Add-In với Add-In Manager Add-In Manager là một công cụ để load và loại bỏ các đối tượng Add-in trong IDE, và rất tiện để chỉ định các hành vi load lên của chúng. Add-In Manager liệt kê tất cả các đối tượng được đăng ký hiện thời. Sử dụng Add-In Manager, bạn có thể load hay unload một đối tượng Add-In ngay tức thì, hay chỉ định một đối tượng Add-In khi môi trường phát triển khởi động hoặc khi nó được khởi động thông qua một dòng lệnh, như với một thao tác tạo dựng. Chỉ có các đối tượng được đăng ký xuất hiện trong danh sách các đối tượng Add-In có hiệu lực. Chú ý: Bạn có thể dùng phím TAB để di chuyển tới các dòng lệnh và phần Startup, thay vì bạn phải sử dụng tổ hợp phím ALT + S và ALT + C để di chuyển tới lui giữa các vùng chọn. H ình 2.3: Hộp thoại Add-In Manager Các bước thực hiện: Chọn nó từ danh sách Chọn vào check box trong dòng Startup, và click OK. Nếu đối tượng Add-in có một giao diện (interface), thì nó sẽ xuất hiện, hay đối tượng Add-in có thể xuất hiện như một nút tên toolbar hay một lệnh trên menu tùy theo bạn chọn lựa, điều này phụ thuộc vào cách bạn lập trình cho đối tượng Add-in. Nếu đối tượng Add-in không có một giao diện đồ họa (UI), nó sẽ load lên một cách âm thầm và bắt đầu chạy. Mẹo: Nếu bạn cố load một đối tượng mà không thể được định vị thì trình Add-In Manager sẽ thoát bỏ đăng ký nó để nó không còn xuất hiện trong danh sách nữa. Để load một đối tượng Add-In ngay tức thì Các bước thực hiện: Chọn nó từ danh sách Chọn vào check box trong dòng Startup, và click OK. Nếu đối tượng Add-in có một giao diện (interface), thì nó sẽ xuất hiện, hay đối tượng Add-in có thể xuất hiện như một nút tên toolbar hay một lệnh trên menu tùy theo bạn chọn lựa, điều này phụ thuộc vào cách bạn lập trình cho đối tượng Add-in. Nếu đối tượng Add-in không có một giao diện đồ họa (UI), nó sẽ load lên một cách âm thầm và bắt đầu chạy. Mẹo: Nếu bạn cố load một đối tượng mà không thể được định vị thì trình Add-In Manager sẽ thoát bỏ đăng ký nó để nó không còn xuất hiện trong danh sách nữa. Chỉ định Add-in nạp lên khi môi trường khởi động Các bước thực hiện: Chọn đối tượng Add-in từ danh sách. Chọn ô Load at startup trong dòng Startup. Lần sau khi môi trường khởi động, thì đối tượng Add-in sẽ load lên nếu nó có hiệu lực. Triệu gọi các đối tượng Add-In thông qua dòng lệnh Devenv Thông thường khi sử dụng trình Add-In Manager để khởi động các đối tượng Add-in, bạn cũng có thể gọi một đối tượng Add-in bằng cách dùng dòng lệnh Devenv. Để làm điều này, hãy sử dụng khoá chuyển đổi /command với cấu trúc như sau: devenv /command . Ở đây, command.name là tên lệnh trong đối tượng Add-in của bạn. Đăng ký đối tượng Add-In Một khi một đối tượng Add-In được tạo ra, nó phải được đăng ký như là một thành phần COM với các bản Microsoft Windows. Trình Add-in Wizard sẽ tự động thực hiện việc đăng ký này cho bạn, nhưng nếu bạn không sử dụng trình Add-in Wizard để tạo ra đối Add-in, bạn phải làm điều này bằng tay theo các bước sau: Mở cửa sổ dòng lệnh. Nếu bạn đang sử dụng VB.NET hay VC#.NET, hãy đánh regasm .dll ở đây, là tên của đối tượng Add-In. Nếu bạn sử dụng VC++.NET, hãy dùng regsvr32 Sau khi một đối tượng Add-in được đăng ký, nó được nhận ra bởi môi trường triển khai được tích hợp (IDE). Để liệt kê nó trong hộp thoại Add-In Manager, bạn phải tạo ra các khoá đăng ký cho nó, như dòng bên dưới. Trong vài trường hợp, sẽ là có ích để biết được những gì mà các khoá đăng ký được giả tạo bởi trình Add-In Wizard. Trình Add-In Wizard tạo một mã chương trình thống nhất (progID) cho mỗi đối tượng Add-in và chèn nó vào trong phần đăng ký. Một progID bao gồm tên của dự án và theo sau là tên của môđun lớp, như MyProj.MyClass. Chú ý rằng HKEY_CURRENT_USER được dùng để làm cho đối tượng Add-in có hiệu lực chỉ đối với user hiện thời. Để làm cho nó có hiệu lực đối với tất cả các user, hãy thay bằng HKEY_LOCAL_MACHINE. Mỗi ProgID chứa đựng cặp tên/giá trị sau: FriendlyName – tuỳ chọn. Là tên xuất hiện trong danh sách các đối tượng Add-In có hiệu lực của trình Add-In Manager. Giá trị này là tuỳ chọn nhưng nó có yêu cầu sử dụng cao. Description – tuỳ chọn. Là một chuỗi được hiễn thị bên dưới của hợp thoại Add-in Manager khi đối tượng Add-in được thêm vào. Giá trị này là tuỳ chọn nhưng nó có yêu cầu sử dụng cao. LoadBehavior – tuỳ chọn. Một trường các bít kiểu DWORD với các cờ theo sau (đối với Visual Studio, Visual Basic và VSA). Các giá trị này là tuỳ chọn nhưng nó có yêu cầu sử dụng cao. Cờ hiệu Giá trị Mô tả ID_UNLOADED 0 Đối tượng Add-in không
Tài liệu liên quan