4 ms·
The project file is a source file and should be in source control.
by bruceboughton 13y ago
The project file is a source file and should be in source control.
- ajross 13y agoThat gets to a semantic argument. Yes, the project file is a text file that can be editted. But editting it is not the natural form for making changes, which is an important part of the definition of "source code". The natural way you make changes to it is to click on junk in a GUI, and that means your changes are going to be inherently filtered through whatever policy decisions the GUI tool made. And that's a huge flaw from the perspective of engineering process. You can't hack what you can't see, basically. And changes to the project file (or whatever other "wizard guided" IDE output you're using) are opaque by definition.
- nightski 13y agoIf it is a text file you manually edit, then those changes are going to be inherently filtered through whatever policy decisions the tool that reads that file makes. I am having a hard time truly understanding the difference (not that we use VS stuff for deployment anyways, but that is for other reasons). A developer could add custom deployment info to the manual file and accidentally commit it just as easily. You just do not like GUIs (which is a perfectly acceptable stance) but it has nothing to do with some fundamental difference.
- curveship 13y agoThis is uninformed FUD. You can "see" what's in VS's project files just fine. The file format is straightforward XML with fairly obvious semantics. Having worked with both VS's .csproj files and UNIX makefiles, .csproj is far far easier to understand and make changes to. I dive into it all the time. The most common case is when I've got WIP changes that conflict with another dev's checkin and I have to resolve them by hand. Just because they supply a GUI doesn't mean it's the only way to change project settings. I'm not sure what led you to believe that.
- bradford 13y agoThere's no 'natural' way of editing the project files: if you think that the 'natural' way of doing it is by clicking junk in a gui, then you are assuming too much. While I'm probably in the minority, I edit my *.csproj files by hand and build from the command line for several of my projects. I do this for the exact reasons that you mention: I like control in the engineering process. I'm unhappy that VS 2013 is putting user settings in the proj file willy nilly and I hope that it's fixed soon.
- bruceboughton 13y agoIs a XAML file created in the Designer not a source file? Your distinction is convenient and meaningless.