วิธีการสร้าง และโหลดโปรแกรมเพิ่มเติมใน Visual Studio .NET โดยใช้ Visual .NET c# หรือ ใน Visual Studio 2005 โดยใช้ Visual 2005 c#

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 816167 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายวิธีการสร้างแบบปกติ การคอมไพล์แล้วเพิ่มไว้ที่แทรกวันที่ปัจจุบันและเวลาที่จุดแทรก ในบทความนี้ คุณสร้าง และเพิ่มในโครงการมีการติดตั้ง โหลดเพิ่มเข้า และรวมที่ add-in ในอินเทอร์เฟซของ Visual Studio .NET หรือ Visual Studio 2005

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องมี:
  • Microsoft Visual Studio .NET หรือ Microsoft Visual Studio 2005
  • Microsoft Windows 2000 Professional, Microsoft Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Windows XP Professional, Server XP Microsoft Windows ด้วย Framework Microsoft .NET

สร้าง และโหลดโปรแกรมเพิ่มเติมใน Visual Studio .NET

  1. เริ่ม Visual Studio .NET หรือ Visual Studio 2005
  2. ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกProject.
  3. ภายใต้ชนิดโครงการขยายโครงการอื่นแล้ว คลิกextensibility โครงการ

    หมายเหตุ:ใน Visual Studio 2005 ขยายชนิดโครงการอื่นภายใต้ชนิดโครงการแล้ว คลิกextensibility.
  4. ภายใต้แม่แบบคลิกvisual Studio .NET เพิ่มไว้หรือvisual Studio เพิ่มไว้.
  5. ในการชื่อ:กล่องข้อความ ชนิดInsertDateTime.
  6. ในการตำแหน่ง:กล่องข้อความ ชนิดC:\แล้ว คลิกตกลง. ซึ่งเริ่มต้นตัวช่วยสร้างการ Extensibility

ดำเนินการขั้นตอนในตัวช่วยสร้างการ Extensibility

  1. บนหน้าแรกของวิซาร์ดการ Extensibility คลิกถัดไป.
  2. ในการเลือกภาษาการเขียนโปรแกรมหน้า คลิกสร้างการเพิ่มเข้าโดยใช้ Visual c#แล้ว คลิกถัดไป.
  3. ในการเลือกการโฮสต์แอพลิเคชันหน้า การยกเลิกการเลือกนั้นMicrosoft VSMacros IDEกล่องกาเครื่องหมาย และจากนั้น คลิกถัดไป.

    หมายเหตุ:ใน Visual Studio 2005 คุณไม่จำเป็นต้องคลิกเพื่อยกเลิกการMicrosoft VSMacros IDEกล่องกาเครื่องหมาย
  4. ในการป้อนชื่อและคำอธิบายหน้า ชนิดแทรกวันและเวลาในการชื่อ:กล่องข้อความ ในการคำอธิบาย:กล่องข้อความ ชนิดแทรกวันที่ปัจจุบันและเวลาแล้ว คลิกถัดไป.
  5. ในการเลือกตัวเลือกเพิ่มในหน้า คลิกเพื่อเลือกกล่องกาเครื่องหมายต่อไปนี้เพื่อสร้างสินค้าในนั้นเครื่องมือเมนู:

    ใช่ สร้างรายการเมนู 'เครื่องมือ' โดยค่าเริ่มต้น ซึ่งจะทำให้การเพิ่มในโหลดเมื่อคลิกปุ่มจนกว่าจะเพิ่มไว้ถูกตั้งค่าให้โหลดเมื่อเริ่มต้นของแอพลิเคชันของโฮสต์
  6. ในการเลือกตัวเลือกเพิ่มในหน้า คลิกเพื่อเลือกกล่องกาเครื่องหมายต่อไปนี้เพื่อที่จะเพิ่มไว้ที่โหลดเมื่อโหลดโปรแกรมประยุกต์โฮสต์:

    ฉันต้องฉันเพิ่มเป็นโหลดเมื่อเริ่มทำงานของแอพลิเคชันของโฮสต์

    คลิกถัดไป.
  7. ในการเลือกข้อมูลที่ 'วิธีใช้เกี่ยวกับ'หน้า คลิกถัดไป.
  8. ในการสรุปหน้า คลิกเสร็จสิ้น. ซึ่งสร้างวิธีแก้ไขปัญหา ด้วยการเพิ่มในโครงการและโครงการการตั้งค่าเพิ่มใน

การปรับปรุงแฟ้ม Connect.cs และเพิ่มการกระทำแบบกำหนดเอง

  1. ในโซลูชัน Explorer คลิกสองครั้งConnect.csและจากนั้น ให้เลื่อนดูแฟ้ม ขอให้สังเกตว่า โดยค่าเริ่มต้น Visual Studio .NET และ Visual Studio 2005 แทรกแม่แบบของรหัสที่จำเป็น สำหรับบทความนี้ คุณเพียงต้องดำเนินการต่อไปนี้:
    1. เพิ่มวิธีการที่จะบันทึกวันและเวลา
    2. ปรับเปลี่ยนexecวิธีการ
  2. เพิ่มรหัสต่อไปนี้หลังจากexecวิธีการ:
    public bool InsertDateTime()
    {
    	if(applicationObject.ActiveDocument != null)
    		((TextSelection)applicationObject.ActiveDocument.Selection).Text = DateTime.Now.ToString();
    	return true;
    }
    
  3. ในการexecวิธีการ เปลี่ยนรหัสต่อไปนี้:
    handled = true;

    เมื่อต้องการต่อไปนี้:
    handled = InsertDateTime();
  4. คลิกขวาใน Explorer โซลูชันInsertDateTimeSetupชี้ไปที่มุมมองแล้ว คลิกการกระทำแบบกำหนดเอง.
  5. คลิกขวาการกระทำแบบกำหนดเองแล้ว คลิกเพิ่มการกระทำแบบกำหนดเอง.
  6. คลิกโฟลเดอร์ของโปรแกรมประยุกต์แล้ว คลิกตกลง.
  7. คลิกผลผลิตหลักจาก InsertDateTime(Active)แล้ว คลิกตกลง. ขอให้สังเกตว่า การแสดงผลหลักปรากฏในนั้นติดตั้งกระบวนการยืนยันกระบวนการย้อนกลับและถอนการติดตั้งโหนภายใต้การการกระทำแบบกำหนดเองโหน

สร้าง และการติดตั้งเพิ่มในโครงการ

  1. เนื่องจากการตั้งค่าโครงการจะไม่รวมอยู่ในการกำหนดค่าการสร้าง โดยค่าเริ่มต้น คุณต้องใช้หนึ่งในวิธีการต่อไปนี้เพื่อสร้างโซลูชัน:
    • วิธีที่ 1: คลิกขวาInsertDateแล้ว คลิกการสร้าง. ในทำนองเดียวกัน คลิกขวาInsertDateTimeSetupแล้ว คลิกการสร้าง.
    • วิธีที่ 2: การสร้างวิธีแก้ไขปัญหาทั้งหมดในคราวเดียวกัน คลิกตัวจัดการการตั้งค่าคอนฟิกในการการสร้างเมนู คลิกเพื่อเลือกนั้นการสร้างกล่องกาเครื่องหมายสำหรับInsertDateTimeSetup.
  2. กดรวมแป้น CTRL + SHIFT + B เพื่อสร้างโซลูชันที่ทั้งหมด ขณะนี้พร้อมใช้งานสำหรับแพ็คเกจการติดตั้งเสร็จสมบูรณ์คือInsertDateTime.
  3. การติดตั้งจะเพิ่มไว้ที่คุณสร้าง โดยให้ทำตามขั้นตอนต่อไปนี้::
    1. ปิดอินสแตนซ์ทั้งหมดของ Visual Studio .NET หรือ Visual Studio 2005 และบันทึกการเปลี่ยนแปลงใด ๆ จากนั้น ถ้าคุณได้รับการพร้อมท์
    2. เปิด Windows Explorer และจากนั้น ค้นหาโฟลเดอร์ต่อไปนี้:

      C:\InsertDateTime\InsertDateTimeSetup\Debug
    3. คลิกขวาInsertDateTimeSetup.msiแล้ว คลิกติดตั้ง.
    4. ในการInsertDateTimeSetupกล่องโต้ตอบ คลิกถัดไปสามครั้ง ขอให้สังเกตว่า แบบแถบความคืบหน้าปรากฏในขณะที่บริการมีการติดตั้ง
    5. หลังจากที่ติดตั้งเพิ่มเข้าไว้ คลิกปิด.
    6. เริ่มต้นการ Visual Studio .NET หรือ Visual Studio 2005

      หมายเหตุ:หลังจากคุณรีสตาร์ Visual Studio .NET หรือ Visual Studio 2005 การเพิ่มเข้าเสมอโหลดจนกว่าคุณเอาออก

เพิ่มไอคอนในแถบเครื่องมือ

จะมีประโยชน์ และยัง instructive การรวมของคุณเพิ่มเข้าใน Visual Studio IDE เต็มที่มากกว่า เมื่อต้องการทำเช่นนี้ เพิ่มไอคอนในแถบเครื่องมือ และจากนั้น เชื่อมโยงเพิ่มเข้ากับแป้นพิมพ์ลัด
  1. ในการเครื่องมือเมนู คลิกการกำหนดเอง.
  2. ในการคำสั่งแท็บ คลิกaddinsในการประเภทรายการ
  3. ลากInsertDateTimeไปยังแถบเครื่องมือที่ใช้งานอยู่ แล้วคลิกแป้นพิมพ์.
  4. ในการแสดงคำสั่งที่ประกอบด้วยกล่องข้อความ ชนิดinsertdatetime. สังเกตว่า ของคุณ(เพิ่มในInsertDateTime.Connect.InsertDateTime) ปรากฏในรายการ
  5. ในการกด key(s) ทางลัดข้อความกล่อง กด CTRL + SHIFT + ลูกศรขวาพร้อมกันที่สำคัญ สังเกตว่า การทางลัดที่ใช้ในปัจจุบันโดยกล่องข้อความแจ้งเตือนคุณที่จะEdit.SizeControlRightคำสั่งแล้วใช้แป้นพิมพ์ลัดนี้
  6. กด BACKSPACE เพื่อลบชุดคีย์ กด CTRL + SHIFT + BACKSPACE คีย์รวม เนื่องจากไม่มีคำสั่งอื่น ๆ ใช้แป้นพิมพ์ลัดนี้ คลิกกำหนด.
  7. ในการตัวเลือกกล่องโต้ตอบ คลิกตกลง.
  8. ในการการกำหนดเองกล่องโต้ตอบ คลิกปิด.
  9. ในแฟ้มข้อความ คลิกInsertDateTimeบนแถบเครื่องมือ ขอให้สังเกตว่า ข้อความที่แทรก อีกวิธีหนึ่งคือ คุณสามารถกด CTRL + SHIFT + BACKSPACE คีย์ชุดการแทรกข้อความ

รายการของรหัสการทำให้เสร็จสมบูรณ์

Connect.cs
namespace InsertDateTime
{
	using System;
	using Microsoft.Office.Core;
	using Extensibility;
	using System.Runtime.InteropServices;
	using EnvDTE;
	
	[GuidAttribute("65EA989D-DFCD-4D36-9E00-A9D928F8B9A2"), ProgId("InsertDateTime.Connect")]
	public class Connect : Object, Extensibility.IDTExtensibility2, IDTCommandTarget
	{
		public Connect()
		{
		}

		public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
		{
			applicationObject = (_DTE)application;
			addInInstance = (AddIn)addInInst;
			if(connectMode == Extensibility.ext_ConnectMode.ext_cm_UISetup)
			{
				object []contextGUIDS = new object[] { };
				Commands commands = applicationObject.Commands;
				_CommandBars commandBars = applicationObject.CommandBars;

				try
				{
					Command command = commands.AddNamedCommand(addInInstance, "InsertDateTime", "InsertDateTime", "Executes the command for InsertDateTime", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.vsCommandStatusEnabled);
					CommandBar commandBar = (CommandBar)commandBars["Tools"];
					CommandBarControl commandBarControl = command.AddControl(commandBar, 1);
				}
				catch(System.Exception /*e*/)
				{
				}
			}
			
		}

		public void OnDisconnection(Extensibility.ext_DisconnectMode disconnectMode, ref System.Array custom)
		{
		}

		public void OnAddInsUpdate(ref System.Array custom)
		{
		}

		public void OnStartupComplete(ref System.Array custom)
		{
		}

		public void OnBeginShutdown(ref System.Array custom)
		{
		}
		
		public void QueryStatus(string commandName, EnvDTE.vsCommandStatusTextWanted neededText, ref EnvDTE.vsCommandStatus status, ref object commandText)
		{
			if(neededText == EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
			{
				if(commandName == "InsertDateTime.Connect.InsertDateTime")
				{
					status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported|vsCommandStatus.vsCommandStatusEnabled;
				}
			}
		}

		public void Exec(string commandName, EnvDTE.vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
		{
			handled = false;
			if(executeOption == EnvDTE.vsCommandExecOption.vsCommandExecOptionDoDefault)
			{
				if(commandName == "InsertDateTime.Connect.InsertDateTime")
				{
					handled = InsertDateTime();
					return;
				}
			}
		}

		public bool InsertDateTime()
		{
			if(applicationObject.ActiveDocument != null)
				((TextSelection)applicationObject.ActiveDocument.Selection).Text = DateTime.Now.ToString();
			return true;
		}
		private _DTE applicationObject;
		private AddIn addInInstance;
		
	}
}

ตรวจสอบทำว่า งาน

  1. กดctrl + n.
  2. ในการแฟ้มใหม่กล่องโต้ตอบ คลิกทั่วไปภายใต้ประเภทคลิกข้อความแฟ้มภายใต้แม่แบบแล้ว คลิกOPEN.
  3. ในการเครื่องมือเมนู คลิกInsertDateTime. วันปัจจุบันและเวลาจะเขียนลงในแฟ้มข้อความ

เอาการเพิ่มไว้

  1. ปิดอินสแตนซ์ทั้งหมดของ Visual Studio .NET หรือ Visual Studio 2005
  2. เปิด Windows Explorer และจากนั้น ค้นหาโฟลเดอร์ต่อไปนี้:
    C:\InsertDateTime\InsertDateTimeSetup\Debug
  3. คลิกขวาInsertDateTimeSetup.msiแล้ว คลิกถอนการติดตั้ง.
  4. คลิกใช่เมื่อคุณได้รับพร้อมท์ให้ถอนการติดตั้ง

แก้ไข

  • คงคลังที่เพิ่มถูกคอมไพล์ และเขียนรายการรีจิสทรี ดังนั้น ทุกครั้งที่คุณเปลี่ยนเพิ่มในโครงการ คุณต้อง recompile และติดตั้งใหม่เพิ่มเข้า
  • เมื่อคุณพยายามที่จะสร้างโครงการ คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้อย่างใดอย่างหนึ่ง:
    ไม่สามารถเขียนไปยังการแสดงผลแฟ้ม
    หรือ
    แฟ้มที่ใช้งาน
    การแก้ไขปัญหานี้ ให้คลิกขวาที่โครงการการตั้งค่าใน Explorer โซลูชัน แล้ว คลิกถอนการติดตั้งเมื่อต้องการลบเพิ่มเข้า คุณสามารถ rebuild ที่โครงการที่มีทั้งสอง และติดตั้งใหม่เพิ่มเข้าได้

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม ให้ดูเว็บไซต์ต่อไปนี้ของ Microsoft:
ตัวอย่างการดำเนินการอัตโนมัติสำหรับ Visual Studio .NET
http://msdn2.microsoft.com/en-us/vstudio/aa718336.aspx
กำหนดเองเพิ่มเติมช่วยคุณเพิ่มผลิตผลของ Visual Studio .NET
http://msdn.microsoft.com/msdnmag/issues/02/02/vside/

คุณสมบัติ

หมายเลขบทความ (Article ID): 816167 - รีวิวครั้งสุดท้าย: 18 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbide kbhowtomaster kbmt KB816167 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:816167

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com