赞
踩
文件名 | 描述 |
EmptyPackagePackage.cs | 该文件定义了可以被Visual Studio加载的EmptyPackagePackage类 |
Guids.cs | 就像COM世界充满GUID一样,我们的package也用GUID来标识自己。这个文件用于定义这些GUID |
VSPackage.resx | 资源文件,保存我们package用到的字符串和图片 |
文件名 | 描述 |
AssemblyInfo.cs | 定义程序集的信息 |
Package.ico | 该package的图标 |
Resources.resx | package级别的资源文件(初始的时候是空文件) |
GlobalSuppressions.cs | 用于取消报告特定的静态分析工具规则冲突 |
- using System;
-
- namespace Company.EmptyPackage
- {
- static class GuidList
- {
- public const string guidEmptyPackagePkgString = "c1356456-0e16-46db-a7d5-f9db67f9e009";
- public const string guidEmptyPackageCmdSetString = "70963f97-610a-44d8-868e-cb281146f947";
-
- public static readonly Guid guidEmptyPackageCmdSet = new Guid(guidEmptyPackageCmdSetString);
- };
- }
- using System;
- using System.Diagnostics;
- using System.Globalization;
- using System.Runtime.InteropServices;
- using System.ComponentModel.Design;
- using Microsoft.Win32;
- using Microsoft.VisualStudio;
- using Microsoft.VisualStudio.Shell.Interop;
- using Microsoft.VisualStudio.OLE.Interop;
- using Microsoft.VisualStudio.Shell;
-
- namespace Company.EmptyPackage
- {
- [PackageRegistration(UseManagedResourcesOnly = true)]
- [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
- [Guid(GuidList.guidEmptyPackagePkgString)]
- public sealed class EmptyPackagePackage : Package
- {
- public EmptyPackagePackage()
- {
- Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering constructor for: {0}", this.ToString()));
- }
-
- protected override void Initialize()
- {
- Debug.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString()));
- base.Initialize();
-
- }
- #endregion
-
- }
- }

特性 | 描述 |
PackageRegistration | regpkg.exe命令发现到类定义中有PackageRegistration这个Attribute时,会把该类当作一个package。例如把这个Attribute加到我们的类定义上面,regpkg.exe就会把我们的EmptyPackagePackage类当作一个package,并且根据该类上面含有的其他Attribute来注册我们的类。另外,在我们的例子中,我们把PackageRegistration的UseManagedResourcesOnly设成了true,这意味着我们的package中的所有资源都会定义在可管理的package中(managed package),而不是定义在卫星程序集里(statelite.dll) |
InstalledProductRegistration | 这个Attribute提供的信息会显示在VS IDE的“帮助|关于”对话框里。它的构造函数需要四个参数: --第一和第二个参数分别表示package的名字和描述。字符“#”表明名字和描述的值需要在资源文件中读出,资源名就是#号后面的ID。 --第三个参数“1.0”是产品ID(版本号) --第四个参数(IconResourceID)代表package的图标。 资源(名字、描述和图标)定义在VSPackage.resx文件中。 |
Guid | 这个Attribute定义了我们package的GUID。GUID是我们package的唯一标识,被用作COM注册、在IDE里得到我们package的引用,等等。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。