Nasıl yapılır: erişim özelliklerini belirli proje türleri
Visual Studio Genel otomasyon modeli sağlar Properties kullanılabilecek koleksiyonu erişim için Properties herhangi biri Visual Studio proje türü.Bunun yanı sıra, proje özellikleri denetimi güvenlik ayarları, derleme adı ve benzerleri için sağlar.
El ile ayarlayın ve proje özelliklerini incelemek için bir proje açın Visual Studio tümleşik geliştirme ortamı (IDE).Üzerinde Proje menüsünü tıklatın özelliklerini.Özelliklerini penceresinde birden fazla sekme vardır ve her bölme tanımlamak ve projeleri davranışını denetlemek için kullanılan özellikleri listeler.Bu ayarları denetlemek otomasyon modeli sağlar programlı.Özellikle, Özellikler, ProjectProperties3 bulunan Proje Özellikleri denetlemenize olanak sağlamak Uygulama, kaynakları, ayarları, Başvuru yolları ve imzalama pencere bölmelerinin özellikleri için sayfa Visual C# projeleri.Tanımlanan özellikleri VBProjectProperties3 özellikleri ayarlarını denetlemesine olanak Visual Basic bulunan projeler, Uygulama, kaynakları, ayarları, başvuruları ve imzalama pencere bölmelerinin özelliklerini sayfa.
Özelliklerini Visual C# projeleri içinde tanımlanan ProjectProperties3.Özelliklerini Visual Basic projeleri içinde tanımlanan VBProjectProperties3.MyApplication Ve MyType özgü özellikler Visual Basic yalnızca projeleri.Özellikler, geri kalanı VBProjectProperties3 özellikler aynıdır ProjectProperties3.
Bu özellikleri doğrudan kaldýrarak erişilemez bir Properties itiraz bir ProjectProperties3 veya bir VBProjectProperties3 nesne.Bunun yerine, bu özellikleri üzerinden erişilmesi gerekir Properties tarafından özelliğinin adı için proje türünü belirtmek için bir dize olarak sağlama toplama Property.Örneğin, kod, EnvDTE.Property prop = EnvDTE.Properties.Item("ApplicationIcon"); erişmenize olanak sağlayan ApplicationIcon özelliği.
Özellikler etkili, tanımlanan ProjectProperties3 ve VBProjectProperties3 özelliği öğeleri proje olarak erişilen belirli projeler için kullanılabilir özellikleri başvuru listesi verilmiştir.
Program aracılığıyla da bu özelliklere nasıl erişileceğini aşağıdaki adımları ayrıntılı bir Visual Studio eklentisi.
[!NOT]
Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza ve ürün sürümüne bağlı olarak Yardım menüsünde açıklanana göre farklılık gösterebilir.Bu yordamlar, genel geliştirme ayarları ile etkin geliştirilmiştir.Ayarlarınızı değiştirmek için Araçlar menüsünden İçeri ve Dışarı Aktarma Ayarları'nı seçin.Daha fazla bilgi için bkz. Visual Studio ayarları.
Belirli türde bir Proje Özellikleri'ne erişmek için
Oluşturma bir Visual Studio kullanarak eklenti projesinin Visual C#.
Üzerinde Proje menüsünde,'ı Add Reference,'ı .net sekmesini seçin VSLangProj, VSLangProj2, ve VSLangProj80, ve Sytem.Windows.Forms 'ı tıklatın ve Tamam.
Kullanarak-aþaðýdakiifadeleri Connect.cs dosyanın en üstüne ekleyin.
using VSLangProj; using VSLangProj2; using VSLangProj80; using VSLangProj90; using VSLangProj100; using System.Windows.Forms;
Bir çağrı adlı yeni bir yöntem eklemek VSProjectProperies ayarlar satırdan OnConnection yöntemine _addInstance gösterilen yöntem:.
_applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; VSProjectProperties(_applicationObject);
OnConnection yönteminin hemen altındaki VSProjectProperties yöntemine ekleyin.
public void VSProjectProperties(DTE2 dte) { try { // Open a Visual C# or Visual Basic project // before running this add-in. Project project; project = _applicationObject.Solution.Projects.Item(1); Property prop; prop = project.Properties.Item("AssemblyName"); MessageBox.Show("The assembly name is: " + prop.Value .ToString()); prop.Value = "MyTestAssembly"; MessageBox.Show("The assembly name is now: " + prop.Value.ToString()); // If the project is a Visual Basic project, set // the MyApplication property. if (project.Kind == "{F184B08F-C81C-45F6-A5F6-5ABD9991F28F}") { MessageBox.Show("The project is a Visual Basic Project"); prop = project.Properties.Item("MyType"); MessageBox.Show("The MyType value is: " + prop.Value.ToString()); prop.Value = "Class Library"; MessageBox.Show("The MyType value is now: " + prop.Value.ToString()); } } catch(Exception ex) { MessageBox.Show(ex.Message); } }
VSProjectProperties Yöntemi ayarlar hem alır AssemblyName olarak, iletme özelliğini bir Property dizeye Öğe Properties koleksiyonu.Proje ise bir Visual Basic proje, VSProjectProperties yöntemini de belirler ve alır MyType özelliği.
Tam kod örnek bölümünde listelenir.
Eklenti Oluştur'ı tıklatarak Build Solution , Build menü.
Open a Visual C# or Visual Basic project in the Visual Studio IDE.
Üzerinde araçları menüsünde tıklatın Add-in Manager, eklentiniz alanından seçin ve Add-In Manager iletişim kutusu.Tıklatın Tamam eklenti çalıştırmak için.
Derleme adı tıklatarak değiştiğini doğrulamak özelliklerini üzerinde Proje menüsünü ve ardından seçerek Uygulama sekmesinde özelliklerini pencere.
Derleme adı alan programlı olarak yaptığınız değişikliği yansıtır.
Örnek
Aşağıdaki örnek bir temel olan Visual Studio , Otomasyon kullanarak proje türlerine özgü özelliklere nasıl erişileceğini gösteren eklenti Visual Studio.
using System;
using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE90a;
using EnvDTE100;
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
using VSLangProj90;
using VSLangProj100;
namespace myAddin
public void OnConnection(object application,
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
VSProjectProperties(_applicationObject);
}
public void VSProjectProperties(DTE2 dte)
{
try
{
// Open a Visual C# or Visual Basic project
// before running this add-in.
Project project;
project = _applicationObject.Solution.Projects.Item(1);
Property prop;
prop = project.Properties.Item("AssemblyName");
MessageBox.Show("The assembly name is: "
+ prop.Value .ToString());
prop.Value = "MyTestAssembly";
MessageBox.Show("The assembly name is now: "
+ prop.Value.ToString());
// If the project is a Visual Basic project, set
// the MyApplication property.
if (project.Kind == PrjKind.prjKindVBProject)
{
MessageBox.Show
("The project is a Visual Basic Project");
prop = project.Properties.Item("MyType");
MessageBox.Show("The MyType value is: "
+ prop.Value.ToString());
prop.Value = "Class Library";
MessageBox.Show("The MyType value is now: "
+ prop.Value.ToString());
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Imports System
Imports Microsoft.VisualStudio.CommandBars
Imports Extensibility
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Imports VSLangProj90
Imports VSLangProj100
Public Sub OnConnection(ByVal application As Object, _
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
VSProjectProperties(_applicationObject)
End Sub
Sub VSProjectProperties(ByVal dte As DTE2)
' Open a Visual C# or Visual Basic project
' before running this add-in.
Try
Dim project As Project
project = _applicationObject.Solution.Projects.Item(1)
Dim prop As [Property]
prop = project.Properties.Item("AssemblyName")
MsgBox("The assembly name is: " _
& prop.Value.ToString())
prop.Value = "MyTestAssembly"
MsgBox("The assembly name is now: " _
& prop.Value.ToString())
' If the project is a Visual Basic project, set
' the MyApplication property.
If project.Kind = PrjKind.prjKindVBProject Then
MsgBox("The project is a Visual Basic Project")
prop = project.Properties.Item("MyType")
MsgBox("The MyType value is: " _
& prop.Value.ToString())
prop.Value = "Class Library"
MsgBox("The MyType value is now: " _
& prop.Value.ToString())
End If
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
Kod Derleniyor
Bu kodu derlemeye yeni bir oluşturmak Visual Studio eklenti projesi ve örnek kodda OnConnection yönteminin kodu Değiştir.Bir eklenti çalıştırma hakkında daha fazla bilgi için bkz: Nasıl yapılır: denetim Eklenti Yöneticisi'ni kullanarak eklentileri.
Ayrıca bkz.
Diğer Kaynaklar
Proje türü belirli proje ve proje öðesi yapılandırma özelliklerini erişme