|
Files to be included with your application |
![]() ![]()
|
Important note about installed version
This section of the documentation applies to the full purchased version only: the trial version of the component comes with an internal protection schema against fraudulent uses which will reset properties of 3D buttons and will turn them into black or gray rectangles when the component is redistributed outside of the development machine where the trial version was originally installed through the provided setup program.
|
The component's assembly that you need to redistribute with your application depend upon the target .NET platform.
Redistributing assemblies for .NET Framework from version 2 to version 4
Redistributing assemblies for .NET Core 3.1, .NET 5 and higher versions
How to create a "ClickOnce" setup containing our component using Visual Studio .NET
Redistributing assemblies for .NET Framework from version 2 to version 4
| • | for .NET framework 2.0, 3.0 or 3.5 with reference to Ctl3DMagic used inside the project (*) |
- Ctl3DMagic.dll
| • | for .NET framework 4.0 or higher with reference to Ctl3DMagicF4 used inside the project (*) |
- Ctl3DMagicF4.dll
All of the mentioned assemblies work as wrappers for the multimedia engine whose binary file must be redistributed as well:
| • | If compiling for "Any CPU" |
- the x86 version of the multimedia engine BTN3DMMS.dll
- the x64 version of the multimedia engine BTN3DMMS64.dll
| • | If compiling specifically for x86 |
- the x86 version of the multimedia engine BTN3DMMS.dll
| • | If compiling specifically for x64 |
- the x64 version of the multimedia engine BTN3DMMS64.dll
You can find redistributable files mentioned above inside the folder in which you installed 3D Control Magic for .NET (default \Program Files\MultiMedia Soft\3D Control Magic for .NET\Redist).
Important note about the folder chosen for installing our files
In order to avoid the "DLL Hell" problem, it's strongly recommended that you install the mentioned files into the same folder in which you will install the EXE of your container application on the target system and not inside the Windows\System32 or Windows\SysWOW64 folders.
|
Redistributing assemblies for .NET Core 3.1, .NET 5 and higher versions
Important update regarding the assembly naming convention for Ctl3dMagic components for users of versions prior to 3.5
As part of our commitment to improving performance and streamlining long-term maintenance, starting from version 3.5 we are updating the naming convention of our .NET modern assemblies (for .NET Core 3.1, .NET 5 and higher versions). Previously, each version of our component carried a specific suffix linked to the target framework (e.g., Ctl3dMagicCore3.dll, Ctl3dMagicF5.dll, Ctl3dMagicF6.dll). To eliminate version fragmentation and adopt Microsoft's best practices, we are consolidating all modern .NET versions (from .NET Core 3.1 up to .NET 10) into a single, unified file name: Ctl3dMagicNet.dll. How this affects you and your backward compatibility: If you added the reference to the assembly by adding the component's NuGet package through the "NuGet Package Manager", you simply need to update the package to its latest available version installed through our setup program. If you manually added the previous version of the assembly as a reference to your project, without using the NuGet package, in order to transition your existing project to the new release without losing compatibility, you will only need to perform a brief, one-time manual adjustment:
The benefit for your future updates:
|
From .NET Core 3.1 to .NET 10, assemblies are added to the solution or the container application through NuGet packages and use a single file name without framework-specific variants: Ctl3DMagicNet.dll
The Ctl3DMagicNet.dll assembly works as a wrapper for the button engine, a native binary file that must be redistributed as well:
When building the container application, the .NET SDK automatically places native binaries in a structured "runtimes" folder, located under the folder containing the .exe of the just built container application:
| • | If compiling for "Any CPU" or for "x64" the native button engine is BTN3DMMS64.dll and its folder structure is: |
runtimes\win-x64\native\Btn3dmms64.dll
| • | If compiling for "x86" the native button engine is BTN3DMMS.dll and its folder structure is: |
runtimes\win-x86\native\Btn3dmms.dll
Tip: It's recommended to preserve the "runtimes" folder structure during distribution of your application to ensure the native engine loads correctly.
How to create a "ClickOnce" setup containing our component using Visual Studio .NET
| • | Inside the "Solution Explorer" open "References" |
| • | Locate and select the reference to Ctl3dMagic |
| • | Inside the "Properties" window locate the "Copy Local" property and set it to "True" |
| • | Inside the "Solution Explorer" right-click the project name |
| • | From the context menu select "Add\Existing Item..." |
| • | Inside the "Objects of type" combobox select "Executable files" |
| • | Locate the directory where Btn3dmms.dll and Btn3dmms64.dll are installed (by default should be under "\Program Files\MultiMedia Soft\3D Control Magic for .NET\Redist") |
| • | Select Btn3dmms.dll and Btn3dmms64.dll and press the "Add" button |
| • | for both of them change the "Copy to Output Directory" property to "Copy always" |
| • | Rebuild the ClickOnce package |
(*) Projects originally developed with versions of the components older than 3.3 always use Ctl3DMagic reference: if you want to develop an application that can run directly into a Windows system where versions 2.0, 3.0 or 3.5 are not installed (such as clean installations of Windows 8 and Windows 10), you should set your applications to use ".NET framework 4" (or higher) as target framework and you should replace the original reference to Ctl3DMagic with the newest Ctl3DMagicF4.
The tutorial How to port projects developed with versions older than 3.3 for compilation with .NET framework 4 explains how to perform the porting of your application's project to version 4 of the .NET framework.
The tutorial How to port projects developed with versions older than 3.3 for compilation with .NET 5 and higher versions explains how to perform the porting of your application's project to newer versions of .NET