Category: Uncategorized
C# .NET Convert object to dynamic
public dynamic ToDynamic(object value)
{
IDictionary<string, object> expando = new ExpandoObject();
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value.GetType()))
expando.Add(property.Name, property.GetValue(value));
return expando as ExpandoObject;
}
GIT – How to ignore local changed file
If you have a config file or something similar you change on your local computer but dont want it to get marked as “modified”.
Use this command:
git update-index --skip-worktree [filename]
If remote repo gets an update on that file you will get notified about this on a pull.
From stackoverflow:
skip-worktree is useful when you instruct git not to touch a specific file ever. That is useful for an already tracked config file.
Upstream main repository hosts some production-ready config but you would like to change some settings in the config to be able to do some local testing. And you don’t want to accidentally check the changes in such file to affect the production config. In that case skip-worktree makes perfect scene.
If you have skip-worktree on a file and the upstream changes, you get “please commit or stash” when you try to pull
More info here:
http://stackoverflow.com/questions/13630849/git-difference-between-assume-unchanged-and-skip-worktree/13631525
Visual Studio – Trigger a xUnit test run after project build event
To trigger a xUnit test run after a successful build,
add this to the project “Build Events” / “Post-build event command line:”
"$(SolutionDir)\packages\xunit.runner.console.2.2.0\tools\xunit.console.x86.exe" "$(TargetPath)"
(You need xUnit runner console nuget package installed for this, above is for the 2.2.0 version).
Will produce something similar to this in the Output window “Build”:
xUnit.net Console Runner (32-bit .NET 4.0.30319.42000) Discovering: MyApp.UnitTests Discovered: MyApp.UnitTests Starting: MyApp.UnitTests Finished: MyApp.UnitTests === TEST EXECUTION SUMMARY === MyApp.UnitTests Total: 8, Errors: 0, Failed: 0, Skipped: 0, Time: 1,120s
Docs:
https://xunit.github.io/docs/getting-started-desktop.html#run-tests
Comparing xUnit.net to other frameworks
Simple comparison table for Attributes and Asserts xUnit vs NUnit and MSTest
Awesome .NET LibHunt – search .NET libraries and nuget packages with comparision
Your go-to .NET Toolbox. A collection of Awesome .NET libraries, tools & frameworks. 549 projects organized into 93 categories.
Great tool for searching an comparing .NET libraries and nuget packages.
Can for example compare 2 libraries to each other:
https://dotnet.libhunt.com/project/fluentassertions/vs/shouldly?rel=cmp-lib
Source: Awesome .NET
Markdown Editors
.NET Core Overview Crash Course (on Linux – but applicable on other systems)
With .NET being open source, you can also install and use the .NET Framework on your Linux machine with multiple languages, such as C#, F#, and Visual Basic (coming soon). This Refcard guides you through productively using .NET on Linux, from installation to debugging. You will find an architectural overview, tips for using the new Command Line Interface (CLI), and tools and helpful settings as they relate to your development efforts. This Refcard also covers building MVC web sites, RESTful services, and standalone applications.
Source: .NET on Linux – DZone – Refcardz
Finding and managing cloned code | Visual Studio TV | Channel 9
This short video shows how to search your code base for cloned code, including code that has been copy/pasted, and then manage these clones to improve your architecture.
Source: Finding and managing cloned code | Visual Studio TV | Channel 9
ConfigTransformation – Visual Studio Addon Marketplace
Extension which enables ability to transform various config file even there does not exist build definition for the transformation file. Supports all .NET projects even WebSites.