Nix + dotnet | 114 Members | |
| 23 Servers |
| Sender | Message | Time |
|---|---|---|
| 6 Aug 2025 | ||
| I have a few dotnet PRs that could use reviews: https://github.com/NixOS/nixpkgs/pull/420536 I'd rather not merge them without another set of eyes, so if anyone feels like taking a look, that would be great. I usually ping '@NixOS/dotnet', so if anyone would like to be notified of dotnet infrastructure changes, feel free to open a PR adding yourself to that team ( | 18:17:44 | |
| I'll take a look at them soon, sorry I haven't been very active | 18:28:38 | |
| I've opened a PR to add myself to the team: https://github.com/NixOS/nixpkgs/pull/431566 | 20:02:59 | |
| I will do my best to review changes when I have the time. | 20:05:36 | |
| Okay, thanks! I appreciate whatever time any of you can spare. | 20:06:38 | |
| 8 Aug 2025 | ||
| 06:29:00 | ||
Howdy all, I'm trying to build a fairly large ASP.NET/Blazor application using a flake. I'm using buildDotnetModule, but the build is complaining about tools in .config/dotnet-tools.json. Where should I add these dependencies to the buildDotnetModule invokation? using buildDotnetGlobalTool and placing the derivation in buildInputs and nativeBuildInputs doesn't work | 21:11:57 | |
currently the build process fails at the dotnetConfigureHook | 21:16:09 | |
| fetch-deps should do a tool restore. Are you running that to make your deps.json? | 21:29:23 | |
No, I don't really know how passthru works. Right now I'm doing dotnet restore <csproj> --packages out; nuget-to-json out > deps.json | 21:35:01 | |
Actually, I just read up on it and I'm getting this error upon runnin result, mv: cannot create regular file '/nix/store/79w8gxjdfwahlzy79zxyzhsp0nrls06j-source/deps.nix': Permission denied | 22:00:20 | |
| You can't run it through a flake. You'd have to do it in impure mode, so the output is writeable. | 23:31:46 | |
| 9 Aug 2025 | ||
Ok, good to know. I'm running nix build .#default.passthru.fetch-deps; ./result, and passing --impure doesn't change anything. I'll try to make a non-flake build to make this deps.json file | 00:38:20 | |
Made a quick default.nix with the main buildDotnetModule, no more tools issues, thanks for the help! | 00:46:50 | |
| Would it be worth it to add this info to the documentation? | 00:56:23 | |
| Also, I'm not sure what happened, but a bunch of the WebAssembly related deps (for a blazor/razor part of the project) were a minor version off, I needed to manually change a bunch from 8.0.17 to 8.0.18. Any idea why this might have happened? | 01:01:53 | |
Also, now I'm running into another issue wrt wasm, error NETSDK1084: There is no application host available for the specified RuntimeIdentifier 'browser-wasm'., I've seen some others having problems with this | 01:05:52 | |
| yeah, you probably have to install the wasm workload and I don't think we support that currently | 01:22:50 | |
| unless if homedir workload installation got re-enabled recently | 01:23:09 | |
I'm also getting this error intermittently, error MSB4018: System.IO.IOException: The process cannot access the file '/build/y0lpd34wqi3vwms9ci0i5yq4mq90sz23-source/src/Infrastructure/bin/Release/net8.0/Infrastructure.deps.json' because it is being used by another process. | 01:24:11 | |
| Not sure what to make of that | 01:24:16 | |
| ngl I do not know what this means | 01:24:30 | |
In reply to @oatmealraisin:matrix.orgI think that's usually if you're building a solution file with concurrency. | 01:29:24 | |
| Is concurrency on by default? | 01:30:20 | |
| Yeah, 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 | |
| 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.. | 01:34:36 | |
| Hey! The whole thing just built | 01:35:15 | |
| 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 | |
In reply to @oatmealraisin:matrix.org 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 | |
| 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
| 02:19:29 | |