Hallo Michael,
Zitat:
Original erstellt von mseufert:
Jaja, das Thema ist halt "etwas" konfus, gerade zum Einstieg fehlt eine Schritt-für-Schritt-Doku. Insbesondere als Maschinenbauer, der sich in die Höhle der Informatik begibt, fischt man lange im Trüben, bevor sich zaghafte erste Erfolge einstellen. @SMario: Wie hast Du die Einarbeitung geschafft ? Dein Link in einem früheren Beitrag zu einem VB-Tutorial hat in Sachen VB weitergeholfen. Die Zusammenhänge von UG, Lizenzen, Signatur, Compilern, Libraries etc. sind leider nirgends dokumentiert, zumindest nicht da, wo man üblicherweise danach sucht.
Gruß, Michael
Hier ein Auszug aus der NX Hilfe:
Compiling and Running an NX Open for .NET Program
Introduction
The following section describes how to compile, load, and unload the sample program created in "Creating a NX Open for .NET Program". Note that this program will not run unless you have a .NET authoring license or it has been signed.
Compiling and Running as an NX Library
To compile the program as a library to be loaded in a running session of NX, use the following command line:
vbc /libpath:%UGII_ROOT_DIR%\managed /t:library /r:NXOpen.dll /r:NXOpen.Utilities.dll SampleApplication.vb
This creates the application library, SampleApplication.dll.
A normal NX installation sets up the UGII_ROOT_DIR variable which points to the "\ugii" subdirectory of UGII_BASE_DIR. The .NET DLLs are located in the "managed" subdirectory beneath UGII_ROOT_DIR.
Load
To load the application into NX:
From an interactive NX session, select File→Execute→NX Open.
Select SampleApplication.dll.
Verify that the listing window opens and displays the message, "Running the Sample Application".
Unload
To unload the application:
Select File→Utilities→Unload Shared Image.
Select SampleApplication.dll.
Compiling and Running as a Standalone Application
Compile
The previous example shows an application loaded as a library into a running NX session. You can also compile an application as a standalone executable. To do so, set the compiler option to /t:exe instead of t:/library:
vbc /libpath:%UGII_ROOT_DIR%\managed /t:exe /r:NXOpen.dll /r:NXOpen.Utilities.dll SampleApplication.vb
Run
To run the application, do one of the following:
Copy the NX .NET libraries to your local working directory. To do so, copy all of the libraries from the %UGII_ROOT_DIR%\managed directory to your working directory.
Copy your .EXE to UGII_ROOT_DIR\managed.
Copy the libraries to a subdirectory, and use an application config file to refer to them.
If the NXOpen dlls are in the same directory as SampleApplication.exe, the following file, SampleApplication.exe.config, is not necessary. If you copied the libraries to a subdirectory, create a file named SampleApplication.exe.config with the following contents:
<?xml version ="1.0"?>
<configuration>
<startup>
<requiredRuntime version="v1.1.4322" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas–microsoft–com:asm.v1">
<probing privatePath="\managed"/>
</assemblyBinding>
</runtime>
</configuration>
Then set the privatePath key to the directory containing the libraries.
Additional Libraries
The previous examples refer to the NXOpen and NXOpenUtilities libraries. You may need to refer to two additional libraries in your compilation commands:
NXOpenUI.dll
Contains all the classes for handling the NX user interface. This library cannot be used in standalone mode.
NXOpen.UF.dll
Contains the definitions for the .NET User Function classes
==============================================================
Loading .NET Libraries and Licensing
To use the NX Open API in a compiled .NET application, the application must be signed with the NX signing tool. This applies both to .NET DLLs that are loaded into an existing NX session (via the Run→NXOpen menu) and to standalone .NET executables that create an NXOpen.Session object.
When you load a .NET library into NX, the system checks the embedded signature. If it finds no signature or the signature is invalid, it will not load the library.
If a .NET authoring license is available, the system loads an unsigned library, but writes a message to the syslog. This avoids having to repeatedly sign the library during the development process.
Signing a library is a two step process:
Embedding the NX resource file in a DLL or application.
Running the NX signing tool.
The following sections explain each step.
1. Embedding the NX Resource File
To embed the NX resource file, add the NXSigningResource.res file to an application when compiling it. Use the "/resource": compiler directive. For example:
VB
vbc /libpath:%UGII_ROOT_DIR%\managed /t:library /r:NXOpen.dll /r:NXOpen.Utilities.dll /resource:%UGII_BASE_DIR%\ugopen\NXSigningResource.res MyApp.vb.
C#
csc /resource:NXSigningResource.res /t:library MyApp.cs
When using a Visual Studio session to compile an application, make sure that after you add the NXSigningResource.res file to a project, set the Compile property on the resource file to Embedded Resource.
2. Running the NX Signing Tool
Once you have embedded the resource, sign it using the SignLibrary utility. For example:
SignLibrary MyApp.dll
You can find the SignLibrary utility in the UGII kit directory on the NX installation. You can only run this utility when a .NET authoring license is available.
Verification
To verify that a library or application has been correctly signed, use the -verify option. For example:
SignLibrary -verify MyApp.dll
This displays a message confirming whether the file has been correctly signed or not.
License Manager
There are three license manager methods that allow user programs to have fine control of licenses used by their programs. For specific methods, see the LicenseManager Class in the NX Open for .NET Reference Guide.
==============================================================
Soviel zum Kompilieren, Ausführen und Signieren.
Zu den VB.NET Compiler braucht man eigentlich nichts zu sagen, da der normale VB.NET Compiler aus dem .NET Framework benutzt wird.
Ciao
Mario
p.s.
Sorry, dass wir jetzt OffTopic sind.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP