Odaxis

Unsure how to compile the latest builds since the recent change.

22 posts in this topic

Recommended Posts

Odaxis    15

Don't suppose anyone can give me the directions for compiling PKHeX in Visual Studio with the latest builds?

Instead of compiling into a .exe, a .dll is now created.

Share this post


Link to post
Share on other sites

Just download the latest compiled from: http://teamcity.skyeditor.org/viewLog.html?buildId=5674&buildTypeId=PKHeX_PKHeXBuildPr&tab=artifacts

If you want to do it yourself, note that PKHeX's logic (PKHeX.Core) is now separate from the UI (PKHeX.WinForms). Compiling PKHeX.Core gives a .dll which is referenced by PKHeX.WinForms. Build PKHeX.WinForms to get the .exe (by default builds to \PKHeX\PKHeX.WinForms\bin\<Debug/Release>\PKHeX.exe).

  • Like 2

Share this post


Link to post
Share on other sites
Odaxis    15
5 hours ago, ReignOfComputer said:

Just download the latest compiled from: http://teamcity.skyeditor.org/viewLog.html?buildId=5674&buildTypeId=PKHeX_PKHeXBuildPr&tab=artifacts

If you want to do it yourself, note that PKHeX's logic (PKHeX.Core) is now separate from the UI (PKHeX.WinForms). Compiling PKHeX.Core gives a .dll which is referenced by PKHeX.WinForms. Build PKHeX.WinForms to get the .exe (by default builds to \PKHeX\PKHeX.WinForms\bin\<Debug/Release>\PKHeX.exe).

Hi. Thanks for the reply.

Just so I know I'm doing this correct.

I compile the .exe by building off of the WinForms branch. The .exe that is generated is 1.12MB in file size, which is 1/6 th the previous .exe file size and I'm required to keep that smaller exe in a folder with the other files "PKHeX.pdb, PKHeX.Core.dll, PKHeX.Core.pdb" in order to launch the app?

Share this post


Link to post
Share on other sites
evandixon    283
57 minutes ago, Odaxis said:

Hi. Thanks for the reply.

Just so I know I'm doing this correct.

I compile the .exe by building off of the WinForms branch. The .exe that is generated is 1.12MB in file size, which is 1/6 th the previous .exe file size and I'm required to keep that smaller exe in a folder with the other files "PKHeX.pdb, PKHeX.Core.dll, PKHeX.Core.pdb" in order to launch the app?

Bare-minimum, you need PKHeX.exe and PKHeX.Core.dll.  The combined file size of the two files should be similar to the previous file size.  The PDB files provide extra debug info for us if there's any unhandled exceptions (like line numbers and code files).

Share this post


Link to post
Share on other sites
Odaxis    15
1 minute ago, evandixon said:

Bare-minimum, you need PKHeX.exe and PKHeX.Core.dll.  The combined file size of the two files should be similar to the previous file size.  The PDB files provide extra debug info for us if there's any unhandled exceptions (like line numbers and code files).

Ahh, i see. Just wondering, why was this path (multiple files instead of 1) chosen?

Share this post


Link to post
Share on other sites
evandixon    283
45 minutes ago, Odaxis said:

Ahh, i see. Just wondering, why was this path (multiple files instead of 1) chosen?

It makes the core code more reusable.  It's possible, but unusual, to directly reference PKHeX.exe from other .Net apps to make things like my (very outdated) Pokemon database, where PKHeX does most of the work.  Using a code library increases the possibilities.

Share this post


Link to post
Share on other sites
Odaxis    15
4 hours ago, evandixon said:

It makes the core code more reusable.  It's possible, but unusual, to directly reference PKHeX.exe from other .Net apps to make things like my (very outdated) Pokemon database, where PKHeX does most of the work.  Using a code library increases the possibilities.

I see. Makes sense. Is there no way going forward, for users like myself who liked the single executable file, to build it into a single .exe file?

Share this post


Link to post
Share on other sites
Kaphotics    242
9 minutes ago, Odaxis said:

I see. Makes sense. Is there no way going forward, for users like myself who liked the single executable file, to build it into a single .exe file?

When new binaries are posted they'll be just the .exe; ILMerge is your friend :)

  • Like 1

Share this post


Link to post
Share on other sites
Odaxis    15
42 minutes ago, Kaphotics said:

ILMerge is your friend :)

Is it friendly enough to allow a scrub like myself to use it?

Share this post


Link to post
Share on other sites
Odaxis    15
39 minutes ago, Kaphotics said:

You can always use ILMerge-GUI if command line isn't fun!

Thanks for that, I was actually just after downloading it before reading this message lol. So i just merge the Core dll and the .exe?

Share this post


Link to post
Share on other sites
Kaphotics    242
Just now, Odaxis said:

Thanks for that, I was actually just after downloading it before reading this message lol. So i just merge the Core dll and the .exe?

Yes.

Share this post


Link to post
Share on other sites
evandixon    283
4 hours ago, Gallant Knight said:

How do I do that, if I may ask?

Whatever command you were using to build PKHeX.WinForms.csproj, use on PKHeX.sln

Share this post


Link to post
Share on other sites
5 minutes ago, Gallant Knight said:

Yeah, I tried that.There's only one .sln in the .zip

That .sln should be in \PKHeX-master\, not in \PKHeX-master\PKHeX.WinForms\.

If for some reason the .sln is in \PKHeX.WinForms\, move it up one folder and try again.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.