LivewareIssue
❔ Using Roslyn from a 'single-file' app
Everything about this project is painful.. the .NET dev experience is non existant lol, no debugger in the dev environment, let alone CI. No IDE support either because our dev environment breaks omnisharper
36 replies
❔ Using Roslyn from a 'single-file' app
I'll have a look at xcopy-msbuild, maybe I can use it or build something similar. In theory, everything needed is available in the repo - all the reference SDKs are checked in somewhere, all the NuGet packages are checked in somewhere (we use a nuget.config to ensure restore uses the local copies etc.)
36 replies
❔ Using Roslyn from a 'single-file' app
Ah, right. Yeah, it's a pain.. we have a version of the .NET SDK checked into source-control. Our in-house build system calls this checked-in .NET to build projects, so devs don't have to install .NET / worry about correct versions etc.
The problem is with the CI environment, as I understand it, is that the Linux image we use in CI (CentOS 8 Stream) provides copies of some .NET packages that conflict with those that the checked-in .NET provides, which breaks the dotnet CLI
(see this MSDN https://learn.microsoft.com/en-us/dotnet/core/install/linux-package-mixup?pivots=os-linux-ubuntu#solutions)
If I had control over the environment, I could follow the instructions in that article to fix it, but CI is very locked down (no external internet access etc.).
I was trying to work around this problem by building something that could 'run anywhere', I thought single file + pointing MSBuildLocator the checked-in .NET might work, but it sounds like this might be a non-starter.
36 replies
❔ Using Roslyn from a 'single-file' app
It's pretty much an LSIF indexer (different format, same idea). We want to produce an index of all C# code in our codebase. The indexer i'm writing is given a list of solution paths - it's job is to open each one and visit all the symbols, writing facts about them to a DB.
I'm not sure whether I need to use msbuildworkspace (what are the alternatives?).
36 replies