bflattened / bflat

C# as you know it but with Go-inspired tooling (small, selfcontained, and native executables)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tool to generate `*.runtimeconfig.json` and `*.deps.json`

opened this issue · comments

...when building with bflat build-il. *.runtimeconfig.json is easy to write manually, but *.deps.json is a nightmare.

Maybe @xiaoyuvax could help with this. It could be either a standalone tool or integrated into bflata.

why do u need the .deps.json file, since bflat build all libs into one executable?

these json files u menationed r all optional, and r usually not needed, even for managed executable.

MyApp.runtimeconfig.json - An optional configuration file containing runtime configuration settings.
MyApp.deps.json - A list of dependencies, as well as compilation context data and compilation dependencies. Not technically required, but required to use the servicing or package cache/shared package install features.

why do u need the .deps.json file, since bflat build all libs into one executable?

these json files u menationed r all optional, and r usually not needed, even for managed executable.

MyApp.runtimeconfig.json - An optional configuration file containing runtime configuration settings.
MyApp.deps.json - A list of dependencies, as well as compilation context data and compilation dependencies. Not technically required, but required to use the servicing or package cache/shared package install features.

They said these files are optional, but in reality these files are not optional! I'm on Windows and I have .NET Framework installed. Please have a look at #170 and #171. If I run the executable directly, the OS will launch the executable with .NET Framework, and of course it will fail because the executable is not targeting .NET Framework. I have to use dotnet exec, and without these files, dotnet exec will not work.

Btw, I'm talking about bflat build-il, not bflat build.

I think I have to accept the fact that bflat build-il is only to help bflat build, and I can't replace .NET SDK with it.