Topic: State of tooling #7
Description
I'd love to have a discussion someday about the state/vision of tooling and documentation around it. It's currently very complicated to setup CI scripts because there are quite a few bugs and cases that are not yet supported properly.
Some examples:
- VS2017 Build Tools don't play well with .NET Core Sdks: Tracking: .NET Core Sdk in Build Tools Installer msbuild#1697
- Restoring packages in "mixed" environments (e.g. Service Fabric) is weird because you need
nuget restore
anddotnet restore
: https://github.com/dotnet/cli/issues/6029 (currently even a "won't-fix") - Service Fabric doesn't yet support non-web .NET core projects: Using MSBuild to package Service Fabric app including .NET Core projects fails microsoft/service-fabric-issues#152
dotnet build
is slow, slow, slow.dotnet pack
doesn't work properly with version-suffix: dotnet pack - version suffix missing from ProjectReference NuGet/Home#4337dotnet publish
removed the--no-build
switch: https://github.com/dotnet/cli/issues/5331
It seems like whenever I try to change my script, I run into a new problem. (Luckily, poor people like @NickCraver and @onovotny have already tried the same thing before me so there's already github issues for most of it 😄)
Sure, all of this is (hopefully) being worked on and it will get better over time but I'm not really seeing the "big picture" here on when people should use nuget.exe
, msbuild.exe
vs dotnet.exe
. Now that they all call each other in mysterious ways it's very hard to understand which tool supports what.
My main concern here is that it is very hard to explain all of this to new developers, and it's also a big frustration/confusion point for them.
I'd love to hear your opinions on how this will/should be improved in the future and tackle questions like
- Should
dotnet.exe
be 'the one to rule them all' and support legacy formats? - Which project types will move to the new project format and when? (e.g. Service Fabric)
- etc.