Frequently Asked Questions About Given-When-Then
A practical introduction to the Given-When-Then format, its role in acceptance criteria, and how it complements user story descriptions.
Browse by term
A practical introduction to the Given-When-Then format, its role in acceptance criteria, and how it complements user story descriptions.
Why CRUD-related functionality such as create, rename, and delete should often be split into separate Product Backlog Items to improve delivery, testing, estimation, and risk management.
How Atwood's Law is evolving in the age of WebAssembly, and why the continued shift from traditional desktop software toward web platforms matters for future technology strategy.
Why modern software engineering teams favor collaboration platforms such as Microsoft Teams over email for internal communication, knowledge sharing, file collaboration, and faster decision-making.
How to slice a larger software feature into user-facing Product Backlog Items while distinguishing vertical slices from technical implementation tasks.
Recommendations for choosing a productive monitor setup for software development, including dual and triple monitors, ultrawide displays, resolution, ergonomics, and connectivity.
Fix an ArcGIS Runtime MapView XAML namespace error when recreating a C# WPF application in F# using FsXaml and FSharp.ViewModule.
Fix a compilation error in the F# Empty Windows App WPF template by trusting the project's XAML Type Provider through the Visual Studio options.
A collection of free IDEs, editors, compilers, SDKs, and learning resources for getting started with F# development on Windows.
How to fix Sublime Text 2 Package Control when no packages are displayed by changing the repository channel protocol from HTTPS to HTTP.
Explains why SharpDevelop may not show the 'Send to F# Interactive' command for F# script files and how adding the FSX file to an F# project enables it
How to fix SharpDevelop's 'F# compiler is not installed' error by creating a Windows junction from the expected F# compiler path to the actual F# SDK installation.
An updated checklist of software, developer tools, Visual Studio extensions, version-control clients, utilities, productivity applications, and useful web services for setting up a Windows developer machine.
How to execute an Entity Framework generated database script against the correct attachable MDF user database instead of accidentally creating the schema in SQL Server's master database.
Shows where Entity Framework 5 Code First creates its automatic LocalDB database in Visual Studio 2012 and how to access it through SQL Server Object Explorer.
Warns about overly broad bin rules in .gitignore files, which can unintentionally exclude binaries from versioned SDKs and toolsets in self-contained development trees.
Explores using LINQ with ArcObjects by exposing ArcGIS features as IEnumerable<IFeature>, including deferred execution, feature cursors, recycling considerations, custom enumerators, unit testing, and performance trade-offs.
How to fix the C# error 'lambda expression is not assignable to parameter type string' when using Entity Framework and LINQ by adding the missing System.Linq using directive.
A practical Git configuration for Windows with useful aliases, colored output, line-ending settings, Notepad++ as editor, and KDiff3 or P4Merge for diff and merge operations.
Fixes a Visual Studio project startup error where the endpoint is not reachable by removing the Prefer32bit setting from the project file.
Fixes a Simian duplicate-code analysis issue in Jenkins where violations are counted but details show 'No violation found' due to an incorrect source path prefix.
Why build machines need the actual SDKs installed, not just referenced targets, for MSBuild to reliably build Silverlight and web-application projects.
Why Activator.CreateInstance fails when directly using an ArcObjects AppRefClass type but succeeds when obtaining the COM type through its CLSID, avoiding an invalid runtime cast.
A note on machine- and edition-specific Code Analysis paths added to Visual Studio project files and the problems they cause for portable projects, mixed-edition teams, and continuous integration builds.
Explains why Silverlight and Web Application projects require Microsoft.WebApplication.targets at Visual Studio's expected MSBuild location, and how to work around this dependency on a toolset-free continuous integration server.
Troubleshooting PostSharp license errors on a TeamCity continuous integration server and configuring the correct license activation for unattended builds.
Troubleshooting a Jenkins MSBuild failure caused by using the .NET 3.5 MSBuild version with the ImportGroup element, which requires MSBuild 4.0, despite targeting .NET Framework 3.5.
How to run StyleCop on a minimal Continuous Integration server without installing it by storing the required assemblies and MSBuild target in the project's DevTree.
Shows how to restore Debug.WriteLine output in DbgView when running xUnit tests by adding a DefaultTraceListener.
How to downgrade a NuGet package when Update-Package refuses to install an older version by uninstalling the current package and explicitly installing the required previous version.
A review of SmartAssembly as a .NET tool for obfuscation and protecting intellectual property, with additional features beyond code obfuscation.
Troubleshooting the .NET error 'Failure has occurred while loading a type' in a COM+ assembly, tracing it to stale registry permissions and resolving it by removing the problematic CLSID keys and running Visual Studio with administrative privileges.
How to use InternalsVisibleTo with strong-named .NET assemblies, including signing the test assembly and specifying the full public key instead of the public key token.
Why calling an abstract or virtual initialization method from a C# base-class constructor triggers the 'Virtual member call in constructor' warning, and when this Template Method-style approach can be safe.
Configuration notes for a more productive Git Bash and Windows console environment, including window and buffer sizes, transparency, copy-on-select, working directories, and Git Bash integration.
A small performance test of log4net logger access in the context of PostSharp AOP, comparing reused, repeatedly resolved, and individual loggers to evaluate the cost of runtime logger lookup.
How PostSharp defaults to the Professional Edition trial and how to configure a Community Edition license to prevent evaluation metadata from being embedded in compiled assemblies.
How to correct wrong company, copyright, and vendor information in Visual Studio AssemblyInfo files by fixing the Windows RegisteredOrganization registry value.
NuGet als Paketverwaltung für ArcObjects-Bibliotheken: Drittbibliotheken versionieren, über eigene Paketquellen verteilen und Referenzen in Visual-Studio-Projekten zentral und reproduzierbar aktualisieren.
How to integrate NuGet package restore into an MSBuild target, keeping dependencies out of source control while ensuring Visual Studio and CI builds restore the required package versions.
A quick reference to Visual Studio macros and predefined variables available for use in project build events.
A DevTree folder structure for separating experimental trials, spikes, samples, prototypes, and clean production code according to their purpose and maturity.
Ein pragmatischer DevTree bündelt Sourcecode, Bibliotheken, Build-Tools und weitere Entwicklungsartefakte im Versions-Repository, um reproduzierbare Builds, Continuous Integration und eine effiziente Zusammenarbeit zu ermöglichen.
How to make ReSharper understand .NET Code Contracts such as Contract.Requires by extending its external annotations and eliminating false nullability warnings.
How to set up xUnit with Visual Studio and ReSharper, including local xUnit references, the xUnit Contrib ReSharper plugin, external annotations, and Live Templates.
A note on applying the Perform Runtime Contract Checking option: application runs pick up the changed setting on restart, while unit tests require an explicit rebuild
Links zu Präsentationen und Code-Beispielen der ESRI 2011 zu professioneller Softwareentwicklung mit ArcObjects, ArcGIS Desktop Customizing und ArcObjects 10.
How an AppDomain.AssemblyResolve handler lets a GAC-deployed assembly bind to a dependency that isn't itself in the GAC.
Auswertung des Teilnehmerfeedbacks zum Esri GIS-Konferenz-Workshop zur professionellen Softwareentwicklung mit Ergebnissen zu Qualität, Praxisrelevanz, Themenwünschen und technologischem Niveau.
How to suppress automatic ArcGIS Add-In registration during Visual Studio builds under limited permissions by placing a Dont_EsriRegAddin.txt file beside the project file.
How to get the Keymaps for ReSharper plugin working with ReSharper 5.1 by moving its DLL to the correct version-specific plugin directory.
How to suppress FxCop and Code Analysis warnings such as CA1811 and CA1812 in ArcGIS Desktop 10 Add-In code generated by ArcGISAddInHostGenerator.
How Castle Windsor resolves multiple implementations of the same interface and how registration order, named components, and constructor dependencies can build a Chain of Responsibility
How to run esriRegasm outside an ArcGIS installation and on build/CI servers without ArcGIS, including the required permissions and MSBuild target changes.
How to use Mercurial through an HTTP proxy by supplying proxy host and port settings with the hg --config parameter.
How to make the CopySourceAsHtml Visual Studio add-in work with Visual Studio 2010 by copying its files and updating the AddIn configuration from version 9.0 to 10.0.
How Word and OneNote differ when pasting formatted text, and how to use Visual Studio's CopySourceAsHtml add-in with HTML instead of RTF to preserve source-code formatting in OneNote.
A look at alternatives to the discontinued Snippet Compiler for compiling C# snippets and preserving syntax highlighting.
Notes on getting NDepend's Visual Studio integration installed on Windows 7/64 with restricted user permissions, working around repeated file-blocking errors.
Why Castle Windsor cannot be used with the .NET Framework 3.5 Client Profile.
Notes on ArcGIS Add-In limitations and packaging, including component namespaces, adding unreferenced assemblies as AddInContent, PDB handling, and extending the table context menu with buttons.
How to fix an ArcObjects COMException when accessing MapDocument.Thumbnail from a background thread by explicitly setting the new thread's apartment state to STA.
How to add a Windows Explorer context-menu option for creating blank Visual Studio solutions using a template in the ShellNew folder and corresponding registry settings.
A personal keyboard shortcut reference for Visual Studio, ReSharper, Windows, Outlook, Word, Chrome, and SRWare Iron, covering editing, refactoring, debugging, navigation, window management, and productivity.
Key characteristics of good unit tests: fast, independent, isolated, repeatable, self-validating, small, transparent, and written at the right time.
A summary of .NET event naming guidelines and conventions for event handlers, EventArgs classes, pre- and post-events, and overridable OnXxx methods.
Wie sich COM-Belange in ArcObjects mit partiellen C#-Klassen, VsCommands und ReSharper sauberer separieren lassen und warum dies eine bessere Strukturierung als #region ermöglicht.
A personal checklist of must-have and optional developer tools, IDEs, Visual Studio add-ins, editors, utilities, and Quick Launch shortcuts for a Windows development workstation.
How to automate NUnit tests with consistent naming, a Windows batch runner, test categories, XML result files, and Hudson CI test reporting.
How to integrate Simian duplicate-code detection into Hudson CI, configure C# file exclusions and thresholds, generate XML reports, and prevent code duplication findings from breaking the build..
How updating Hudson plugins resolved a config.xml deletion error that appeared after upgrading the Hudson CI server and changing job configurations.
How to obtain and install a newer FxCop release from the Windows SDK for Windows 7 and .NET Framework 4 when the FxCop GUI update link is broken.
A collection of StyleCop and FxCop SuppressMessage examples for common code analysis issues, including naming, IoC, testing, exceptions, documentation, strong names, and framework-specific cases.
How to use a project-specific FxCop custom dictionary with Visual Studio Code Analysis by linking the dictionary into each project and configuring CodeAnalysisDictionary in the csproj file.
Why renaming COM-Interop components can break deployment when WiX registry entries generated by Heat still contain the old component name, even though development builds work correctly.
Empfohlene globale TortoiseSVN Ignore-Patterns für .NET, Visual Studio und ReSharper sowie sinnvolle Zeitstempel-Einstellungen und Hinweise zur Sicherung der Subversion-Konfiguration.
How to use a renamed FxCop custom dictionary with Visual Studio Code Analysis, MSBuild targets, FxCopCmd, and the standalone FxCop GUI.
Verschiedene englische und deutsche Formulierungen zur Aussprache und Beschreibung des Lambda-Operators in C# und von Lambda-Ausdrücken.
Warum ReSharpers Reorder Type Members bei C#-Strukturen für unmanaged Code gefährlich sein kann und wie StructLayout und FieldOffset ein stabiles Speicherlayout sicherstellen.
Anleitung zum Remote Debugging mit Visual Studio: Remote Debugging Monitor einrichten, Prozesse verbinden, PDB-Dateien und Firewall konfigurieren sowie typische Verbindungs- und Breakpoint-Probleme beheben.
Using F# sequences, pipelines, and Seq.fold with ArcObjects to iterate over features and calculate the combined bounding box of an ArcGIS feature class.
How to iterate through all features of an ArcObjects feature class in F# by wrapping an IFeatureCursor in an F# sequence and processing each feature.
First steps using F# with Esri ArcObjects: loading ArcGIS assemblies, initializing a license, connecting to an SDE workspace, and accessing a feature.
How to enable F# Interactive in SharpDevelop by configuring the F# installation directory.
How missing custom cultures can cause the MSB3105 duplicate Resources error during compilation
Notes on MSBuild Exec task failures with MSB6003 when quoting the WorkingDirectory attribute
Fixing a Code Analysis/FxCop error in mixed VS2005/VS2008 projects by pointing the VS2005 targets at the VS2008 FxCop binaries.
How to stop a running build on TFS
How a trailing backslash in a quoted Windows folder argument can break parsing
A workaround for Visual Studio Find in Files missing matches in XML files
How to configure StyleCop SA1600 documentation warnings to ignore missing documentation
How to make a custom FxCop dictionary available to Visual Studio.
How to integrate Microsoft FxCop into Visual Studio builds using post-build events
How to fix grayed-out ReSharper menus and a missing Visual Studio add-in by reinstalling MSXML 6.0 after it was removed with SQL Server 2005.
How to deal with SAP .NET Connector installation issues
Build only a subset of a large Visual Studio solution by using solution folders instead of juggling the configuration manager.
How to resolve Visual Studio's duplicate Resources parameter error when using custom cultures
Performancevergleich von as, is und direkten Casts in C#
C#-Tipps für ArcObjects: unnötige doppelte Casts mit is und explizitem Cast vermeiden sowie Next()-Schleifen kompakter und verständlicher formulieren.
How to adjust the Visual Studio Code Analysis warning limit
How to maintain Visual Studio 2005 and 2008 project compatibility
How to catch COMException errors from the ArcObjects library in C#, inspect their error codes, and identify specific ArcObjects error constants.
How to fix NUnit assembly loading errors caused by test assemblies located outside the NUnit project's application base, diagnosed with Fusion Log Viewer.
How to localize C# applications with .NET resource files, satellite assemblies, ResGen.exe, AL.exe, and a post-build process for multiple languages.
Wie sich mit ExeConfigurationFileMap eine eigene Konfigurationsdatei für eine .NET-DLL laden und auslesen lässt.
Wie sich .NET-Assemblies aus dem Global Assembly Cache (GAC) in Visual Studio referenzieren lassen, wenn sie nicht im Add-Reference-Dialog aufgeführt werden.