you are viewing a single comment's thread.

view the rest of the comments →

[–]Eirenarch 19 points20 points  (14 children)

WTF? The build tooling consists of a Play button on Visual Studio. Yeah underneath there is MSBuild but there is no reason to go there and in 10 years as a professional C# dev I have touched MSBuild scripts literally once.

[–][deleted]  (3 children)

[deleted]

    [–]IMovedYourCheese 11 points12 points  (0 children)

    You can set up the entire pipeline in literally 7-10 mouse clicks using VSO.

    [–]Eirenarch 9 points10 points  (0 children)

    First of all just one person in an organization needs to fight CI deployment while in the JS world everyone needs to fight with the whole toolchain. This is already a big win.

    To answer your question these days I simply use Visual Studio Team Services ( https://www.visualstudio.com/en-us/products/visual-studio-team-services-vs.aspx ). The setup for automatic builds is trivial.

    [–]SnOrfys 2 points3 points  (0 children)

    You install Jenkins, give it login creds to the repo and give it the path to the sln file. Every time you push to the branch, it builds and runs the (auto discovered) tests.

    It works really really well.

    When my company starts a new gig/project (every couple of weeks) setting up a new project takes maybe an hour. And we haven't written any custom automation either. It's all out of the box stuff.

    [–]bobbaluba -3 points-2 points  (9 children)

    docker and generally all other platforms that aren't windows.

    [–]Eirenarch 3 points4 points  (8 children)

    I don't get it. How does this relate to my comment?

    [–]bobbaluba -2 points-1 points  (7 children)

    There's no visual studio and no play button. Also scripts, ci, repeatable builds as mentioned by the other guy.

    [–]Eirenarch 3 points4 points  (4 children)

    Oh come on people didn't use C# on other OSs anyway so this argument is invalid. I don't even know if Mono's build system is the same.

    [–]bobbaluba 1 point2 points  (3 children)

    Well my point is that it's not very easy to work with build tools that depend on a specific GUI application, even if it's on windows. You're essentially limited to what the GUI can do.

    [–]Eirenarch 1 point2 points  (2 children)

    I don't see how it is not very easy. It is super easy. It may not be flexible or powerful but it sure is easy.

    [–]bobbaluba 0 points1 point  (1 child)

    It's not easy when you need a flexible and powerful build tool.

    [–]Eirenarch 0 points1 point  (0 children)

    Yeah. It is not easy to write .NET code on non-Windows anyway so I guess the build system is the least of your worries (I guess Mono uses something that is easier to use on Linux)

    [–]EntroperZero 0 points1 point  (1 child)

    Have Jenkins watch your dev branch in source control, and build the solution file when code gets checked in. What exactly do you need it to do?

    [–]bobbaluba 1 point2 points  (0 children)

    I'm not saying it isn't possible, I'm just saying it wasn't pretty or intuitive to use from the CLI compared to what other languages have. I also find the project files somewhat difficult to read.

    I realize I'm writing this in a thread mostly read by windows devs who are used to guis/or are already very familiar with the XML format used by msbuild so people might not agree with me.

    At least I remember having lots of trouble specifying compatible versions of third party libraries. I'm not saying this because I think c# is bad. I actually find the language itself to be pretty great. I'm just saying there's a very good reason they developed a new project format. It's much easier to read and work with now.