.NET Issues
This section provides information on typical .NET related issues.
.NET 5 SDK version#
To develop a project using C# Component System, a developer (artist, designer, and any other person working with the project) should have .NET 5 SDK installed on their computer.
It is required to install the SDK, not the runtime, because SDK contains both the compiler, which compiles .cs-components in UnigineEditor, and the runtime, which runs an already compiled application from UnigineEditor at the development stage.
Do I Need to Install .NET 5 on All PCs to Run the Final Build?#
Running a final application built by UnigineEditor via the Build Tool does not require .NET 5 SDK or .NET 5 runtime. The output applications are self-contained and can be run flawlessly on almost any computer.
Typical Errors#
If you don't have .NET 5 SDK installed, you can come across various errors while working with the project in both SDK Browser and UnigineEditor. For example, when running the application (clicking the RUN button) after creating it in SDK Browser, you may receive the error stating that File Not Found — File *_x64.dll doesn't exist:
Errors also can occur when clicking the Play button in UnigineEditor (Required .NET SDK 5.0 not found):
Fixing Errors with Missing SDK#
To fix any possible errors with missing .NET 5 SDK, you need to download and install .NET 5 SDK using the following link: https://dotnet.microsoft.com/download/dotnet/5.0.
Installing .NET 5 SDK on Windows#
Install a version 5.0.x: https://dotnet.microsoft.com/download/dotnet/5.0.
Download the required installer and run it following all installation steps.
Optional: After installing the SDK you might find it useful to disable .NET SDK telemetry.
Installing .NET 5 SDK on Linux#
Install a .NET SDK version 5.0.x: https://docs.microsoft.com/en-us/dotnet/core/install/linux.
Linux operating systems supported by .NET 5.0 include at least the following:
- Red Hat Enterprise Linux 7, 8
- CentOS 7, 8
- Fedora 32, 33
- Debian 9, 10
- Ubuntu 16.04, 18.04, 19.10, 20.04, 20.10
- openSUSE 15+
- SUSE Enterprise Linux (SLES) 12 SP2+, 15
- Alpine Linux 3.11+
.NET 5 SDK can be installed on Linux in a number of ways. Please check the official website for installing .NET SDK with Snap or manually.
After installing the SDK, you might find it useful to disable .NET SDK telemetry.
Checking .NET SDK Version#
You can check which .NET SDK Version (or versions) is installed on your PC.
On Windows#
- Open the Command Prompt (Click the Start button and type cmd).
- In the window that opens, type the following:
dotnet --list-sdks
The following information should appear:
On Linux#
- Open the terminal.
- In the window that opens, type the following:
dotnet --list-sdks
The following information should appear:
In the output, all installed .NET SDK versions are listed. If you installed .NET 5 SDK and it is not listed, address Microsoft support.
Checking SDK Compatibility#
When loading a C# Component System based project, UnigineEditor lists all found .NET versions in its log:
.NET SDK is not found. | |
Unsuitable versions of .NET SDK are found. | |
.NET SDK 5.0.x is found and C# Component System is initialized successfully. |
Visual Studio Code Issues#
OmniSharp extension Error: spawn cmd ENOENT#
In case IntelliSense cannot be started due to the spawn cmd ENOENT error in the OmniSharp extension, it is recommended to add %WINDIR%\System32 to the PATH variable.
On Linux, you may require adding ~/.vscode/extensions to the path, for example in the .bashrc file:
export PATH=$HOME/.vscode/extensions:$PATH
For more details see https://github.com/OmniSharp/omnisharp-vscode/issues/32.
Project Opening Issues#
In case a single source file of a C# component is opened in VS Code when double-clicking it in UnigineEditor, it is recommended to make sure the path to the VS Code bin (%VSCODE_INSTALLATION_FOLDER%\bin) folder is added to the %PATH% environment variable, for example, as follows: C:\Program Files\Microsoft VS Code\bin.
For Windows, it is also recommended to restart the PC to have the %PATH% variable updated.