WinCC插件制作教程
参考资料 Creation of .NET Controls 109759944_Prepare.NetControls_DOC_en.pdf
插件的编写
-
创建插件项目,选择Windows窗体控件库(.NET Framework)
-
框架选择 4.5.2以上版本
-
为程序集签名
- 在项目上右键点击属性.
- 切换到签名选项卡.
- 勾选为程序集签名,并创建签名密钥.
-
可选:为控件添加属性
在控件代码中增加属性代码
private bool mvalue;//私有变量 //Category 表示属性所在的分类 Data表示在数据类中 //Description 表示在属性页中显示的描述 //Browsable 表示是否在属性页中显示, 不增加默认为true //DefaultValue 默认值,不填为空 [Category("Data")] [Description("这是一个变量")] [Browsable(true)] [DefaultValue(true)] public bool MValue { get { return mvalue; } set { mvalue = value; } }
-
可选:为控件添加事件
-
创建自定义委托(可选)
//委托 public delegate void MyChangeEventHandler();
-
添加自定义事件
[Browsable(true)]//是否显示,不添加为true,为false为隐藏 [Category("Action")]//事件分类 [Description("Invoked when user clicks button")]//描述 public event EventHandler ButtonClick;//此处 Eventhandle 可以改为自定义委托 MyChangeEventHandler
-
内部触发事件
protected void Button1_Click(object sender, EventArgs e) { //检查事件列表是否为空 if (this.ButtonClick != null) this.ButtonClick(this, e); }
-
-
生成插件
点击生成下的生成来生成插件,在bin目录中找到生成的插件dll
插件的使用
- 全局注册
-
全局注册的程序 ,在生成时必须选anyCpu 如果,如果不是AnyCpu生成如(X86,X64)只能通过手工加载的方式
-
全局注册需要安装.net 4 SDK 下载:https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer
-
以管理员身份运行CMD,跳转到 SDK工具目录
cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"
-
使用命令 全局注册插件dll
#"gacutil.exe /l" 查看所有注册成功的组件 #"gacutil.exe /l 程序集名称" 查看指定程序集注册状态 #"gacutil.exe /u 程序集名称" 卸载已注册的程序集 #cmd下执行 gacutil.exe /i 插件路径 #powershell下执行 ./gacutil.exe /i #插件的路径 最好带双引号,不要使用中文路径
- 手动注册
手动注册直接在插件中选择 程序集dll文件即可,如果运行出现错误,可将Dll文件放到运行程序根目录下再次手工选择 注册