The best tool to undertake the task at hand is the simpliest one that handles it
This freeware program helps one into easily embedding resources (.bmp, .css, .csv, .ec, .gif, .htm, .html, .jar, .jpg, .jpe, .jpeg, .jif, .jfif, .js, .json, .pdf, .png, .svf, .svg, .tif, .tiff, .xls, .xml, or .xul) in .NET (a.k.a. dotnet) projects, by converting the data corresponding to these resources to integers that, later on, are used to fill arrays, so that these resources get directly embedded in the .NET code you use (for instance, c#, j#, or vb.net) and, as so, they become understood by both the compilers and the decompilers (for .NET) that do not understand the Microsoft's resources' format.

As the resources embedded in this way become normal .NET code, it will become easier for you to submit your code to different compilers (for the used .NET language) and, as so, it will become easier for you to make your executables compatible with more versions of the .NET runtime.

By the same token, as the resources embedded in this way become normal .NET code, you will be capable of using all the programs, such as obfuscators and performance testers, that do their job based on the CIL code returned by .NET decompilers.

In addition, this program can keep state, so that a batch job can be paused and, then, continued, at a later time.
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, and Windows 10
Portable installation:
Uncompress the zip file to the folder from where you want to run the program (assuming you have both write and execute permissions on that folder) and run it from there.