!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

120 Members
24 Servers

Load older messages


SenderMessageTime
9 Aug 2025
@corngood:corngood.comCorngoodYeah, unless `enableParallelBuilding = false`. There's documentation somewhere about why that's not safe in all cases, but I haven't found it yet...01:32:38
@oatmealraisin:matrix.orgoatmealraisinI must've glanced over it too fast, I thought it was off by default. I'll change that. I'm also not making derivations for every projectreference yet..01:34:36
@oatmealraisin:matrix.orgoatmealraisinHey! The whole thing just built01:35:15
@oatmealraisin:matrix.orgoatmealraisin It doesn't run because it needs selfContainedBuild but just getting to this point is great. Corngood thanks again for the help 01:59:20
@corngood:corngood.comCorngood
In reply to @oatmealraisin:matrix.org
I must've glanced over it too fast, I thought it was off by default. I'll change that. I'm also not making derivations for every projectreference yet..

stdenv is off by default, buildDotnetModule is on by default...

I think some other languages did the same because they don't have the legacy of stdenv.

The documentation I was talking about was the concurrent solution building problem, but that's an upstream dotnet thing.

02:04:20
@corngood:corngood.comCorngood

For some reason I can't find any reference now, but I seem to remember the problem was with solution files specifically causing the same project to be build twice concurrently when there's a diamond dependency. I think it had something to do with the target framework or runtime being used as well.

There are a bunch of packages that work around it. For example openutau:

  # [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [[...]/OpenUtau.Core.csproj]
  # [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: System.IO.IOException: The process cannot access the file '[...]/OpenUtau.Core.deps.json' because it is being used by another process. [[...]/OpenUtau.Core.csproj]
  enableParallelBuilding = false;

  projectFile = "OpenUtau.sln";
02:19:29
13 Aug 2025
@whovian9369:matrix.orgWhovian9369

Hi, me again. Sorry
A friend is trying to use AoT with his app, and I can't figure out for the life of me how to have selfContained = false; (which he insists has to be false) and use the AoT at the same time due to the following. Any thoughts?

...
@nix { "action": "setPhase", "phase": "installPhase" }
Executing dotnetInstallHook
/build/nuget.yzA66y/fallback/microsoft.dotnet.ilcompiler/9.0.7/build/Microsoft.NETCore.Native.Publish.targets(56,5): error : PublishTrimmed is implied by native compilation and cannot be disabled. [/build/gx7q6dmvpva0fphxrx9dkj7yyyx1yl43-source/GrindCore.PerfTest.csproj]

Anyone have any suggestions on what to do next?

17:18:25
@emma:rory.gayEmma [it/its]i thought nativeaot and multi-file were mutually exclusive?17:19:34
@whovian9369:matrix.orgWhovian9369Can't say I kno17:19:56
@whovian9369:matrix.orgWhovian9369* Can't say I know17:19:58
@6pak:matrix.org6paknativeaot has to be self-contained, yeah17:20:22
@6pak:matrix.org6pakready2run is a form of aot, but that's not nativeaot17:20:55
@whovian9369:matrix.orgWhovian9369 My friend seems to think that AoT (I'm assuming nativeaot) can be enabled while selfContained = false; is set (seemingly to not need the runtime at all?), but the above error seems to claim otherwise. 17:29:43
@whovian9369:matrix.orgWhovian9369 Admittedly I'm not quite sure what I'm asking, since the build works fine with dotnetInstallFlags = [ "-p:PublishAot=false" ]; selfContainedBuild = false; but not with ... [ "-p:PublishAot=true" ]; selfContainedBuild = false; which is what my friend seems to want me to try. 17:32:47
@whovian9369:matrix.orgWhovian9369If they're mutually exclusive on the Dotnet side then that's completely fine, I will just have to make sure he's aware of that fact. 😅17:33:36
@whovian9369:matrix.orgWhovian9369Or this is a huge misunderstanding on my part with the dev, ugh 😓 Oh well, I'll figure it out eventually. Thanks for the thoughts Emma and 6pak!17:41:12
@whovian9369:matrix.orgWhovian9369

Okay, sorry, I think I've figured out the situation again and I was slightly wrong.

  • He wants me to try building with AoT (again seemingly NativeAoT) enabled and self-contained disabled, which seems reasonable
  • Trying to do so throws an error, seemingly due to Emma's point about them being mutually exclusive.
  • Friend seems to insist that I can do AoT and --no-self-contained (via selfContainedBuild = false;) even though it appears to me that I cannot due to PublishTrimmed
17:55:28
@whovian9369:matrix.orgWhovian9369 *

Okay, sorry, I think I've figured out the situation again and I was slightly wrong.

  • He wants me to try building with AoT (again seemingly NativeAoT) enabled and self-contained disabled, which seems reasonable
  • Trying to do so throws an error, seemingly due to Emma's point about them being mutually exclusive.
  • Friend seems to insist that I can do AoT and --no-self-contained (via selfContainedBuild = false;) even though it appears to me that I cannot due to PublishTrimmed being implied, throwing the earlier error.
17:56:00
@6pak:matrix.org6pakimage.png
Download image.png
17:56:11
@6pak:matrix.org6pak buildDotnetModule is adding the PublishTrimmed=false 17:56:20
@6pak:matrix.org6pak I assume publishaot simply overrides --no-self-contained when using dotnet cli normally 17:56:40
@whovian9369:matrix.orgWhovian9369That's my assumption too, yeah.18:02:55
@whovian9369:matrix.orgWhovian9369Is there a good way to print the used flags used during a build? I feel like that might help expose what's being done "incorrectly"...18:07:28
@whovian9369:matrix.orgWhovian9369 In the mean time, I'm testing "-p:PublishTrimmed=true" as a dotnetInstallFlags option to see what happens. 18:09:57
@whovian9369:matrix.orgWhovian9369... The answer is seemingly nothing due to the hook seemingly overriding it.18:10:24
@6pak:matrix.org6pak why would you want to disable selfContainedBuild on nix side? 18:11:08
@whovian9369:matrix.orgWhovian9369 You mean explicitly settings selfContainedBuild = false;? Honestly I think it's personal preference so I know exactly what's set where I can set stuff.
I believe Nix does set it automatically anyway, so 🤷
18:21:06
@whovian9369:matrix.orgWhovian9369 * You mean explicitly setting selfContainedBuild = false;? Honestly I think it's personal preference so I know exactly what's set where I can set stuff.
I believe Nix does set it automatically anyway, so 🤷
18:21:56
@6pak:matrix.org6pakI mean not setting it to true18:22:16
@whovian9369:matrix.orgWhovian9369 Sorry, I'm afraid I'm missing the question then. You're asking why I'm setting selfContainedBuild = false; in the first place? 18:22:51

Show newer messages


Back to Room ListRoom Version: 9