Skip to content

Conversation

@hazre
Copy link
Member

@hazre hazre commented Nov 25, 2025

For some reason if projects were not added to the BepInEx solution file, they were somehow being built in debug config in the cake build project. This is exclusively happening with the cake build and not when building with dotnet pack for example. This might be a cake bug.

We were distributing debug builds of HarmonyX and Hardware.Info this whole time.

I only found out while trying to figure out why MonoDetour is broken after they added HarmonyX interop. (It's because they prepatch HarmonyX and expect a unoptimized version of HarmonyX.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

Download the artifacts for this pull request:

@hazre
Copy link
Member Author

hazre commented Nov 25, 2025

apparently is a intended behavior in msbuild dotnet/msbuild#5116 (comment)

@art0007i
Copy link

wtf happened with the sln file? I don't think it needs all that stuff. also do we really have a problem with using debug builds of stuff? is there any measurable difference? if not, might as well have the extra debug info (whatever that might mean in our case)

@hazre
Copy link
Member Author

hazre commented Dec 17, 2025

We literally ship release builds of everything else, there is no reason why we should be shipping debug builds of HarmonyX and Hardware.Info in production. This was a regression on our end, normal BepInEx does only does release builds as well.

As I already explained in the PR Body, we have to add HarmonyX and Hardware.Info (At least HarmonyX if #32 is merged)

only the top part is relevant

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HarmonyX", "HarmonyX", "{3BC3CB3F-C3A1-BACA-1E5E-17DD6508E989}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Harmony", "HarmonyX\Harmony\Harmony.csproj", "{8795B562-8178-4563-BA43-4157E9FED8D2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hardware.Info", "Hardware.Info", "{8C5B3541-64F0-78E0-9626-A2D56F35ADC2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hardware.Info", "Hardware.Info\Hardware.Info\Hardware.Info.csproj", "{929F7CF9-46A1-43C4-977C-CC0D76AF66F5}"
EndProject

the rest of the stuff was just generated by IDE stuff. I didn't change manually it. solution file is not meant to be tampered with manually, so I let the IDE do it's thing.

@art0007i
Copy link

art0007i commented Jan 1, 2026

@hazre since #32 is merged now, we can remove hardware info part and then it's good

@hazre
Copy link
Member Author

hazre commented Jan 2, 2026

Could you do it? I don't have access to my PC for the next few days.

This command should remove it. (Idk how it works in VS)

dotnet sln BepInEx.sln remove Hardware.Info

Copy link

@art0007i art0007i left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@art0007i art0007i merged commit 735ecef into master Jan 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants