3 ms·
I work with C#, Xamarin, and Visual Studio. 80% of the time build errors are transient and go away with another F5. Sometimes a build works but is reported as
by nxc18 6y ago
I work with C#, Xamarin, and Visual Studio.
80% of the time build errors are transient and go away with another F5. Sometimes a build works but is reported as a failure because of a tooling error. ‘Clean’ing the build doesn’t actually do what cleaning should do, so you also have to manually delete intermediate folders to get builds working again. Heaven forbid you name folders appropriately and put your project anywhere other than C:\, because your tools will break with mysterious errors that turn out to be MAX_PATH related. Sometimes when debugging Xamarin iOS apps, Xamarin will deploy old, cached binaries without any indication that something went wrong - really, really great for debugging and issue verification (/s). It won’t be fixed because Microsoft is “prioritizing issues with a broad customer impact”.
I can personally confirm the psychological and physiological effects of at least this particular coding environment: stress, learned helplessness (why the fuck is the answer always just, hit F5 again?), shame and embarrassment (when I tell the team a bug wasn’t fixed, only to learn that visual studio was gaslighting me and deploying cached binaries to the device after a full clean of the project), and high blood pressure from the aforementioned issues.
- 9wzYQbTYsAIc 6y agoI have actually shared that exact same experience working on a Xamarin Forms app for a year.
- url00 6y agoReading this is cathartic. I've personally been bitten by VS's "Clean" not actually cleaning many times.
- GoblinSlayer 6y agoI work with C#, Visual Studio. 1 level of folder nesting was more than enough for me so far. I see a deeply nested folder hierarchy as a code smell, I once had to walk one such hierarchy to convert files into utf8, and it was a massive pain.
- nxc18 6y agoThe issue is with forms and the like, the tooling creates a lot of intermediate files based on the names of classes and whatnot. If you’re following the ‘best practice’ naming patterns, and have your code in a user folder, it’s likely you’ll run out of characters. I don’t use more than 2 folder levels ever, but I have a product with wordy names.
- 9wzYQbTYsAIc 6y agoWhat I’ve started to do is put everything in c:\src\<git-repo>, which limits the overhead to 3 characters instead of the 42 or whatever for your users folder.
- GoblinSlayer 6y agosrc/MyProductDeluxe9999LimitedUnleashed/Branch/MyProductForms/AboutForm.Designer.cs - 83 characters, about 1/3 of path length limit.
- 9wzYQbTYsAIc 6y agoEw, TFS?
- nxc18 6y agoC:\Users\user\Documents\Visual Studio 2019\Projects\myrepo\src\MyProductDeluxe9999LimitedUnleashed\Branch\MyProductForms\myapp.Android\obj\Debug\90\android\bin\classes\mono\android\support\design\widget\BottomNavigationView_OnNavigationItemReselectedListenerImplementor.class - 276 characters Only 227 if you're careful about where you put it, but that's kind of the point - you have to be careful about where you put/build your Xamarin projects from.