前言
在UG5.0开始,所有基于UG二次开发的DLL都要“签名”后才能被客户端上正版的NX调用。
一、基于C# 开发签名
1、添加资源文件
(1)项目类库上右键–>属性–>资源–>添加资源右边小三角–>添加现有文件–>切换到UG安装目录下的UGOPEN(NX 8.5版本)目录下–>选中NXSigningResource.res–>打开
(2)Ctrl+S保存
2、添加自动签名和拷贝命令
(1)选中项目属性中的生成事件–>编辑后期生成–>写入以下命令–>点击确定
"$(UGII_BASE_DIR)\UGII\SignDotNet.exe" "$(TargetPath)"
copy /y "$(TargetPath)" "$(SolutionDir)\DLL\Release\$(TargetFileName)"
$(UGII_BASE_DIR)
: UG安装目录$(TargetPath)
: 类库dll生成完整路径$(SolutionDir)
:解决方案所在目录
注意:拷贝的目标路径必须存在,不存在就得提前新建
(2)Ctrl+S保存
3、生成
出现红框中的提示则证明签名成功。
二、基于C++开发签名(借鉴网络文章)
1、在cpp文件中需要添加头文件
#include <NXSigningResource.cpp>
2、添加签名命令
"$(UGII_BASE_DIR)\UGOPEN\signcpp.exe.exe" "$(TargetPath)"
copy /y "$(TargetPath)" "$(SolutionDir)\DLL\Release\$(TargetFileName)"
3、生成类库
图略
参考文章
[1] NX二次开发批量数字签名的方法,解决自己电脑编译的dll在用户正版NX无法使用的问题
[2] NX二次开发编译时自动数字签名及拷贝