diff --git a/source/dub/generators/visuald.d b/source/dub/generators/visuald.d
index 6a42633ba..ffc437bbf 100644
--- a/source/dub/generators/visuald.d
+++ b/source/dub/generators/visuald.d
@@ -307,7 +307,26 @@ class VisualDGenerator : ProjectGenerator {
ret.formattedWrite(" %s\n", combinedImports);
ret.formattedWrite(" %s\n", stringImports);
- ret.formattedWrite(" %s\n", "$(DMDInstallDir)windows\\bin\\dmd.exe"); // FIXME: use the actually selected compiler!
+ ret.formattedWrite(" %s\n", settings.compiler.name);
+ string program;
+
+ final switch (settings.compiler.name)
+ {
+ case "ldc":
+ case "ldc2":
+ program = "$(LDCInstallDir)bin\\ldc2.exe";
+ break;
+
+ case "gdc":
+ program = "$(GDCInstallDir)bin\\gdc.exe";
+ break;
+
+ case "dmd":
+ program = "$(DMDInstallDir)windows\\bin\\dmd.exe";
+ break;
+ }
+
+ ret.formattedWrite(" %s\n", program);
ret.formattedWrite(" %s\n", getSettings!"dflags"().join(" "));
// Add version identifiers