Published: March 24, 2021
45
35
487

I should be able to walk up to any .NET project and run: dotnet build -c Release to build dotnet test to execute tests dotnet run to run #dotnet

@davidfowl Good luck running libraries 😁

@jimrichsk Guess what test projects are!?

@davidfowl Can we plug into dotnet run in order to do things like start docker dependencies?

@davidfowl Just waiting on native support for SQL projects. I know there is an open source SDK for it, but it doesn't cover everything sqlproj currently supports. At the moment my build system runs dotnet build for everything but SQL, and I run MSBuild for that

@davidfowl I follow this pattern: https://github.blog/2015-06-30... script/bootstrap (this is a one time script to ensure machine dependencies, secrets, etc) script/build to build script/server to run script/test to run tests

@davidfowl 500% yes! Wonder what's missing to make this happen.

@davidfowl I'd like for there to be a dotnet install. Current command for adding a nuget is too long imo , i.e dotnet add package "package name" , maybe an alias to align with other ecosystems?

@davidfowl dotnet deploy?

@davidfowl We can't even agree that code should go in an src folder, what you talking about?

@davidfowl always build with -bl, that way you won’t run into build issues. Take an umbrella so it doesn’t rain.

@davidfowl and this is why you need a devcontainer, I shouldn't have to think about which version of dotnet to have installed first.

@davidfowl I wish! But that’s not going to happen until Xcode can start running on Windows, or that WinUI can build on macOS or Linux, or that those new .NET 6 workloads can be automatically installed.

@davidfowl It would be nice if we could run custom scripts via the dotnet command, similar to node . For complex apps we typically need to spin up something in docker before dotnet run

@davidfowl My project supports .NET Framework, UWP, and Xamarin. And it involves native code builds for a whole bunch of CPUs and platform combinations. But I like the ideal you describe, and I very much look forward to .NET 6 moving us closer to it.

@davidfowl This works in all my own repos. I then have additional restore, build, test, and pack cmd/sh files that take care of passing "standard" things like binary log output, verbosity, etc 1/

@davidfowl Yes β€” and that's the way most JS/TS projects work. But npm start runs a custom script, so it is quite flexible. Running SharpLab, for example, includes running two ASP .NET Core projects + one npm watch for static frontend. dotnet run is not flexible enough β€” I had to use Tye.

@davidfowl Where do you boot all the docker-compose files? πŸ‘€

@davidfowl It's great idea. But I expect that there will always be some complicated build/ releases scenarios. For me it looks like reinventing the wheel. In gnu world they have "make" command that handles different scenarios.I would say there is a need for some more freedom in donet build

@davidfowl If that happens, DevOps will make a statue of you at the entrance

@davidfowl How about dotnet apply -f config.yaml 🀩🀩

@davidfowl Is that an annual scheduled tweet? :)

@davidfowl Except sql database projects

@davidfowl @jongalloway How long until the team ships the tool that allows us to type > dotnet write To write the code πŸ˜‚

@davidfowl If on linux I like to hide the things I can do in a make script, that way I can just run "make" and see what is available without knowing all parameters. I usually then have "make build", "make test", "make run", "make deploy"... but it depends on project.

@davidfowl Also for .NET projects that depend on projects not using .NET?

@davidfowl Also have a .cs file, and Console.Write() should just work, like print() in python 🐍

@davidfowl This tweet fucking sucks

@davidfowl I should be able to start any .NET project in VS (latest version) and: Build, run tests, and hit F5 to start 😜. Most of us use Windows for a reason 😁

@davidfowl Makefile gang

@davidfowl I prefer to click icons. Less neurons firing, same work done.

@davidfowl I agree on the conceptual level, but I'm ok having to setup things before / afterwards.

@davidfowl Back in the old days it was press f5 and it should start. We also required that it should be possible without additional software installation and no network. If it wasn't possible detailed howto must be added. If not, project could not be released.

@davidfowl Yep...like what npm has been doing for years.

@davidfowl Hmm, define "project" I think: dotnet tool restore ...

@davidfowl Finite.Cpp.Sdk will bring us a step closer to this if the blocker is unmanaged code. I'll be moving my own CMake projects over to it once its more stable, such as the NovelRT game engine (which is running a lot of custom CMake infra to make it "nice"). https://github.com/FiniteReali...

Share this thread

Read on Twitter

View original thread

Navigate thread

1/36