Xian55 / WowClassicGrindBot

Highly configurable and responsive World of Warcraft Classic pixel Grind Bot - No DLL injection or memory tampering, just screen capture and input simulation.
190 stars 127 forks source link

BlazorServer Addon failing powershell build #527

Closed Mulliganisoup closed 1 year ago

Mulliganisoup commented 1 year ago

Description

Trying to build the project with powershell command dotnet build -c Release /p:Platform=x86

Getting the error WowClassicGrindBot\BlazorServer\BlazorServer.csproj(44,5): error MSB3073: The command "xcopy /s /Y /i "C:\WowClassicGrindBot\BlazorServer..\Addons" "C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\Addons"" exited with code 9009.

full output from powershell:

Time Elapsed 00:00:04.63 PS C:\WowClassicGrindBot> dotnet build -c Release /p:Platform=x86 MSBuild version 17.6.8+c70978d4d for .NET Determining projects to restore... All projects are up-to-date for restore. WinAPI -> C:\WowClassicGrindBot\WinAPI\bin\x86\Release\net7.0\WinAPI.dll DataConfig -> C:\WowClassicGrindBot\DataConfig\bin\x86\Release\net7.0\DataConfig.dll SharedLib -> C:\WowClassicGrindBot\SharedLib\bin\x86\Release\net7.0\SharedLib.dll WowheadDB -> C:\WowClassicGrindBot\WowheadDB\bin\x86\Release\net7.0\WowheadDB.dll PPather -> C:\WowClassicGrindBot\PPather\bin\x86\Release\net7.0\PPather.dll Game -> C:\WowClassicGrindBot\Game\bin\x86\Release\net7.0\Game.dll Core -> C:\WowClassicGrindBot\Core\bin\x86\Release\net7.0\Core.dll CoreTests -> C:\WowClassicGrindBot\CoreTests\bin\x86\Release\net7.0\CoreTests.dll HeadlessServer -> C:\WowClassicGrindBot\HeadlessServer\bin\x86\Release\net7.0\HeadlessServer.dll PathingAPI -> C:\WowClassicGrindBot\PathingAPI\bin\x86\Release\net7.0\PathingAPI.dll Frontend -> C:\WowClassicGrindBot\Frontend\bin\x86\Release\net7.0\Frontend.dll BlazorServer -> C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\BlazorServer.dll 'xcopy' is not recognized as an internal or external command, operable program or batch file. C:\WowClassicGrindBot\BlazorServer\BlazorServer.csproj(44,5): error MSB3073: The command "xcopy /s /Y /i "C:\WowClassicGrindBot\BlazorServer..\Addons" "C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\Addons"" exited with code 9009.

Build FAILED.

C:\WowClassicGrindBot\BlazorServer\BlazorServer.csproj(44,5): error MSB3073: The command "xcopy /s /Y /i "C:\WowClassicGrindBot\BlazorServer..\Addons" "C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\Addons"" exited with code 9009. 0 Warning(s) 1 Error(s)

Time Elapsed 00:00:01.55

Addon Version

na

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

Client is Classic

Compiled AmeisenNavigation.Server as Win32. Changed the config file to point to the mmaps folder

Ran powershell as admin in the C:\WowClassicGrindBot> folder

Last Good Version

No response

Screenshots

No response

Logs

full output from powershell:

Time Elapsed 00:00:04.63 PS C:\WowClassicGrindBot> dotnet build -c Release /p:Platform=x86 MSBuild version 17.6.8+c70978d4d for .NET Determining projects to restore... All projects are up-to-date for restore. WinAPI -> C:\WowClassicGrindBot\WinAPI\bin\x86\Release\net7.0\WinAPI.dll DataConfig -> C:\WowClassicGrindBot\DataConfig\bin\x86\Release\net7.0\DataConfig.dll SharedLib -> C:\WowClassicGrindBot\SharedLib\bin\x86\Release\net7.0\SharedLib.dll WowheadDB -> C:\WowClassicGrindBot\WowheadDB\bin\x86\Release\net7.0\WowheadDB.dll PPather -> C:\WowClassicGrindBot\PPather\bin\x86\Release\net7.0\PPather.dll Game -> C:\WowClassicGrindBot\Game\bin\x86\Release\net7.0\Game.dll Core -> C:\WowClassicGrindBot\Core\bin\x86\Release\net7.0\Core.dll CoreTests -> C:\WowClassicGrindBot\CoreTests\bin\x86\Release\net7.0\CoreTests.dll HeadlessServer -> C:\WowClassicGrindBot\HeadlessServer\bin\x86\Release\net7.0\HeadlessServer.dll PathingAPI -> C:\WowClassicGrindBot\PathingAPI\bin\x86\Release\net7.0\PathingAPI.dll Frontend -> C:\WowClassicGrindBot\Frontend\bin\x86\Release\net7.0\Frontend.dll BlazorServer -> C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\BlazorServer.dll 'xcopy' is not recognized as an internal or external command, operable program or batch file. C:\WowClassicGrindBot\BlazorServer\BlazorServer.csproj(44,5): error MSB3073: The command "xcopy /s /Y /i "C:\WowClassicGrindBot\BlazorServer..\Addons" "C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\Addons"" exited with code 9009.

Build FAILED.

C:\WowClassicGrindBot\BlazorServer\BlazorServer.csproj(44,5): error MSB3073: The command "xcopy /s /Y /i "C:\WowClassicGrindBot\BlazorServer..\Addons" "C:\WowClassicGrindBot\BlazorServer\bin\x86\Release\net7.0\Addons"" exited with code 9009. 0 Warning(s) 1 Error(s)

Time Elapsed 00:00:01.55

Mulliganisoup commented 1 year ago

Most likely user error.

Xian55 commented 1 year ago

đź‘‹ Hello

It seems copying the latest addons contents is failing.

May i ask what operation system are you using? Can you verify that the xcopy command is available on your system?

To verify, open a new powershell terminal and type the following command

C:\Users\xyz>xcopy

should see the following output

Invalid number of parameters
0 File(s) copied

On the other hand the mentioned path doesn't seems to be correct to me

"C:\WowClassicGrindBot\BlazorServer..\Addons"

It supposed to be

"C:\WowClassicGrindBot\BlazorServer\..\Addons"

When calling MsBuild, $(ProjectDir) supposed to include the trailing backslash \.

Other then that, not sure yet how to resolve your issue.

Need more info about your setup.

Mulliganisoup commented 1 year ago

So i got it to work by adding the addons folder to "C:\WowClassicGrindBot\BlazorServer\Addons" creating a blank Addons folder @ "C:\WowClassicGrindBot\BlazorServer\bin\Release\net7.0\Addons"

and then declaring the full path to xcopy in the "C:\WowClassicGrindBot\BlazorServer\BlazorServer.csproj" file

Mulliganisoup commented 1 year ago

`Target Name="PostBuild" AfterTargets="PostBuildEvent"> Exec Command="C:\Windows\System32\xcopy /s /Y /i "$(ProjectDir)..\Addons*.*" "$(TargetDir)Addons\"" /> /Target>

Exec Command="C:\Windows\System32\xcopy /s /Y /i "$(ProjectDir)..\Addons\*.*" "$(PublishDir)Addons\"" /> `
Xian55 commented 1 year ago

That's not how it was designed.

Creating a blank folder like C:\WowClassicGrindBot\BlazorServer\Addons does not make sense to me. The Addons folder can be found here C:\WowClassicGrindBot\Addons


declaring the full path to xcopy

I can agree with this, changing xcopy to c:\windows\system32\xcopy is alright.


However you did other change like

$(ProjectDir)..\Addons\*.*

Can you revert this back and see if its working?

The xcopy /s /Y /i should ensure to copy full depth

Mulliganisoup commented 1 year ago

So I was able to build it with no issues in a virtual machine. Im thinking this is some issue with my machine that I will need to diagnose on my own time. Thank you for the prompt replies and for keeping this repo active and updated it is much appreciated!