Build Issues
.NET SDK Problems
SDK version not found
SDK version not found
Let build script download SDK
.nuke/temp/dotnet-win or .nuke/temp/dotnet-unixManual SDK installation
SDK rollforward errors
SDK rollforward errors
10.0.0 or let the build script handle it.Check installed SDKs:Preview SDK required
Preview SDK required
global.json enables preview features:LangVersion: preview for C# language features.MSBuild and C++ Compilation
MSBuild not found
MSBuild not found
-
Install Visual Studio 2022
- Download from visualstudio.microsoft.com
- Install with “Desktop development with C++” workload
-
Use Developer Command Prompt
- Open “Developer Command Prompt for VS 2022”
- Navigate to Dalamud directory
- Run
./build.ps1
-
Add MSBuild to PATH
Platform Toolset v143 missing
Platform Toolset v143 missing
- Modify your VS 2022 installation
- Select “Desktop development with C++”
- Ensure these components are checked:
- MSVC v143 - VS 2022 C++ x64/x86 build tools
- Windows 10 SDK (latest version)
- C++ CMake tools for Windows
Windows SDK not found
Windows SDK not found
- Via Visual Studio Installer (Individual Components tab)
- Or download standalone from Microsoft
MASM not found
MASM not found
rewrite_entrypoint_thunks.asm).Solution:
Install via Visual Studio Installer:- Individual Components → Compilers → MASM (x64)
Submodule Issues
Submodule not initialized
Submodule not initialized
Submodule detached HEAD
Submodule detached HEAD
Submodule permission denied (SSH)
Submodule permission denied (SSH)
Dependency Problems
NuGet restore failures
NuGet restore failures
-
Check network connectivity
-
Clear NuGet cache
- Check firewall/proxy settings Configure NuGet proxy if behind corporate firewall
Package version conflicts
Package version conflicts
Directory.Packages.props).Solution:
Package versions are centrally managed. Don’t specify versions in individual projects:Directory.Packages.props:Missing native dependencies
Missing native dependencies
bin/Debug or bin/Release:cimgui.dllcimplot.dllcimguizmo.dllDalamud.Boot.dll
Runtime Issues
Dalamud fails to inject
Dalamud fails to inject
-
Check XIVLauncher logs
%APPDATA%\XIVLauncher\output.log- Look for injection errors
-
Verify Dalamud files
%APPDATA%\XIVLauncher\addon\Hooks\dev\- Ensure all DLLs are present
-
Check for antivirus interference
- Add exception for XIVLauncher directory
- Add exception for FFXIV directory
-
Test with clean profile
- Rename
%APPDATA%\XIVLaunchertemporarily - Launch with fresh configuration
- Rename
Plugin compatibility errors
Plugin compatibility errors
- Update
DalamudVersioninDalamud.csproj - Document migration path
- Update changelog
Game crashes on startup
Game crashes on startup
- Invalid hooks
- Memory corruption
- Incompatible game version
-
Enable crash dumps
- DalamudCrashHandler should generate dumps
- Check
%APPDATA%\XIVLauncher\crashes\
-
Test without plugins
- Disable all third-party plugins
- Narrow down to specific component
-
Check game version
- Ensure FFXIVClientStructs is up to date
- Game updates may break hooks
Test Failures
Tests not discovered
Tests not discovered
-
Rebuild test project
-
Verify xunit packages
-
Check test class is public
File not found in tests
File not found in tests
.csproj:Assembly.GetExecutingAssembly().Location to locate files.Tests pass locally, fail in CI
Tests pass locally, fail in CI
-
Culture differences
-
Path separators
-
Missing dependencies
- Check CI logs for missing files
- Ensure test data is committed to repo
Performance Issues
Slow build times
Slow build times
-
Disable virus scanning for build directories
- Exclude project directory
- Exclude
.nuke,bin,objfolders
-
Use incremental builds
-
Close other applications
- MSBuild is CPU/memory intensive
- Close Visual Studio when using command line builds
-
Check disk I/O
- Use SSD for source code
- Consider RAM disk for temp files
High memory usage during build
High memory usage during build
Platform-Specific Issues
Windows
Long path errors
Long path errors
Execution policy errors
Execution policy errors
Linux
Cannot build C++ components
Cannot build C++ components
CompileCImGuiCompileCImPlotCompileCImGuizmoCompileDalamudBootCompileDalamudCrashHandler
Permission denied on build.sh
Permission denied on build.sh