Open AxelCaroPiraknights opened 1 year ago
I've checked this and $(SolutionDir) is resolved in the 10x build command. So I can only assume that your VS build environment isn't getting setup for some reason. Can you check your log file and see if there are any warnings.
Also, 10x will use the same build command that is in VS. So I tihnk you may be looking at the wrong project for your UnrealBoolTool.dll example above. See the NMake entry for your startup project:
I have the same issue.
I have found below lines in the log file:
13/06/2023 22:12:16: MSBuildVars Error: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
13/06/2023 22:12:16: [msbuildvars] Failed getting vars using VisualStudioLink, using msbuild command line instead
EDIT
After installing MSBuild component from Visual Studio Installer problem is gone.
works with VS2019 but not VS2022
I've checked this and it is working for me. Here are the details of my setup in case anything is different:
D:\UnrealEngine-ue5-main\UE5.sln
D:\LyraStarterGame\LyraStarterGame.sln
BuildConfiguration file changed to target VS2022:
D:\UnrealEngine-ue5-main\Engine\Saved\UnrealBuildTool\BuildConfiguration.xml
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<ProjectFileGenerator>
<Format>VisualStudio2022</Format>
</ProjectFileGenerator>
</Configuration>
Right click on D:\LyraStarterGame\LyraStarterGame.uproject
and Generate Visual Studio Project Files
Opening sln in VS2022, the nmake command shows this (with the SolutionDir macro)
Building in 10x does resolve SolutionDir
can you double check you have your VisualStudioEnvBat
setting set to this:
I have everything exactly as you do, and still it doesn't work. However, because reasons, I tried to install Visual Studio Build Tools 2019 for C++ development, and now it magically works. So something must have been missing, but 10x didn't provide any log about this so I'm not sure the software noticed that something was missing. Also, how does it make sense that installing 2019 elements solves an issue when my VisualStudioEnvBat is setup for 2022? So it's all voodo magic. I'll try uninstalling some 2019 components until I find the one that is actually required, and will try to install the 2022 version of that, because I don't like having a build environment with inconsistencies like that. Will post details here if I find something.
Alright, so I need to have Visual Studio Build Tools 2019 installed with the C++ Desktop Development module. Then the $(SolutionDir) will resolve correctly and the build command of the game target from the game sln will work when summoned from 10x.
If I have only the one for 2022 installed, then it fails like before. I give you the components installed for 2019 and 2022 for reference, if it's any use. Sorry they are in french, but since it's mostly numbers I'm sure it won't be a problem.
Thanks, that's given me an idea. I may just need to update to the latest msbuild .net library. I'll give that a try.
I updated the msbuild library to the latest in build (1.0.77), is anyone in a position to test this? (I can't easily test this due to no internet)
This stems from the following behavior, building an unreal 5 game sln from 10x.
The folder hierarchy looks like this:
In VS, the build command is:
"..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -Target="DiabolicalEditor Win64 Development -Project=\"C:\PK\Diabolical\trunk\DiabolicalGame\Diabolical.uproject\""
In 10x, the build output says:
This seems like the $(SolutionDir) is confusing 10x and it decides to build as is from the Engine folder. Maybe.