1.如何不用将exe程序拷贝到UGII目录下运行?

答:在调用NX Open命令函数前,将当前目录移动到NX安装目录\UGII\,NX安装目录必须和环境变量UGII_BASE_DIR的值一致,否则报错。可以使用如下代码:

Dim instalDir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
System.IO.Directory.SetCurrentDirectory(instalDir)

2.我的外部程序很小,不想打包NX的.NET库文件一起发布,而是使用用户的库文件,要怎样做呢?

答:第一步,显示项目所有文件,展开Application.myapp文件,再打开Application.Designer.vb文件,为MyApplication添加Startup事件回调函数,在里面添加如下代码:

Dim ufdir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.UF.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.Utilities.dll"))

第二步,修改程序运行配置文件:你的exe程序文件名.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NXOpen" culture="neutral" publicKeyToken="null"/>
<codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NXOpen.UF" culture="neutral" publicKeyToken="null"/>
<codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.UF.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NXOpen.Utilities" culture="neutral" publicKeyToken="null"/>
<codeBase version="4.0.0.0" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.Utilities.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

使用.NET(C#或VB.NET)开发NX外部程序的更多相关文章

  1. VB.NET开发中遇到的一点小问题

    在用vb.net开发的security support时,遇到一个问题,在trainingCourses.aspx页面上增加了一个HyperLink控件 <asp:HyperLink runat ...

  2. NX二次开发-NX+VS写代码设断点调试技巧

    在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...

  3. NX二次开发-NX访问SqlServer数据库(增删改查)C#版

    版本:NX9+VS2012+SqlServer2008r2 以前我写过一个NX访问MySQL数据库(增删改查)的文章https://www.cnblogs.com/nxopen2018/p/12297 ...

  4. VB.NET开发中遇到的一个小问题

    在修改公司用vb.net的写的代码时,遇到一个小问题 页面上有一个button, ID是btnNext, 在属性页中,它的click事件对应的是cmdNext, 我像在c#中一样,在属性页中双击cmd ...

  5. 使用 VB.NET 开发多线程

    摘要:.NET 框架提供了新的类,可以方便地创建多线程应用程序.本文介绍如何使用 Visual Basic® .NET 的多线程编程技术来开发效率更高.响应速度更快的应用程序. 目录 简介 多线程处理 ...

  6. NX二次开发-NX访问MySQL数据库(增删改查)

    版本:NX11+VS2013+MySQL5.6(x64)+SQLyog 1.新建一个NX项目(多字节) 2.设置VC++目录(调用MySQL的头文件,dll和lib库文件) 3.设置番茄助手 然后重启 ...

  7. 演练:使用Xamarin.Forms开发产品介绍性质的应用(VB版)

    概述 Xamarin这个使用mono和.net core的跨平台开发框架这几年在不断发展.被微软收购后的Xamarin为个人开发者提供了免费版的Xamarin for Visual Studio,吸引 ...

  8. VB.NET设置控件和窗体的显示级别

    前言:在用VB.NET开发射频检测系统ADS时,当激活已存在的目标MDI子窗体时,被其他子窗体遮住了,导致目标MDI子窗体不能显示. 这个问题怎么解决呢?网上看到一篇帖子VB.NET设置控件和窗体的显 ...

  9. 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇

    本文摘自:http://www.job168.com/info/read_100394.html 微软的许多技术,如OLE.ActiveX.以及DirectX等都是基于COM技术而建立起来的.微软本身 ...

随机推荐

  1. viper配置管理

    安装 go get github.com/spf13/viper viper支持的功能 1.可以设置默认值 2.可以加载多种格式的配置文件,如JSON,TOML,YAML,HCL和Java属性配置文件 ...

  2. Appium自动化(3) - adb无线连接手机的方法

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 除了USB方式连接Andro ...

  3. java版gRPC实战之一:用proto生成代码

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. Vue指令及自定义指令的使用

    导航列表: 一.vue指令 二.自定义指令 一.vue指令 回到顶部    1. v-text v-text主要用来更新textContent,可以等同于JS的text属性,不会解析标签,会把标签解析 ...

  5. expression select表达式动态构建

    参考: http://blog.csdn.net/tastelife/article/details/7340205 http://blog.csdn.net/sweety820/article/de ...

  6. elementUI 表格 table 的表头错乱问题

    页面中多组件开发时,如果页面中有表格的,table表格头出现表头错乱 // 全局设置1 body .el-table th.gutter{ 2 display: table-cell!importan ...

  7. 关于vue-cli的安装

    (一):*安装 vue-cli 参考: https://cn.vuejs.org/v2/guide/installation.html https://github.com/vuejs/vue-cli ...

  8. CodeForce-810B Summer sell-off (结构体排序)

    http://codeforces.com/problemset/problem/810/B 已知n天里,已知第i天的供货量和需求量,给定一个f,可以在n天之中选f天促销使得供货量翻倍. 问选择其中f ...

  9. 迷你商城后端管理系统 ———— stage2 项目的核心代码实现

    应用程序主函数接口 @SpringBootApplication(scanBasePackages = {"org.linlinjava.litemall.db", "o ...

  10. C# MVC 实现 ajax 跨域

    dataup.js$(function() {    $.ajax({        url: "http://localhost:1266/test/t",        dat ...