Visual studio feeds

All Visual Studio blogs in one place


Enter your email address:

Delivered by FeedBurner

Increase your website traffic with



Anti-spam: How many eyes has a typical person?

Follow us on FB


DevOps and PowerShell - Publish a NuGet package as part of build process

AddThis Social Bookmark Button
NuGet is a free, open source package management system for .NET platform, which helps in easy dependency management. Using NuGet very easy for project owners to build and define package dependencies which will be included in the package during the packaging process and later publish this to the repository for usage by external users.

Users can later install the package by searching in the NuGet source repository which will automatically download and install the dependencies as well. You can use the NuGet command line utility to create packages from a specification file and later publish them to the repository
whenever needed. If you want to automate the process of package creation and publishing from a TFS build process, you can make use of custom PowerShell scripts that can be invoked as part of the build process. The Team Foundation Build template (TfvcTemplate.12.xaml) provides the capability to extend the build process by using PowerShell scripts at stages like Pre build and Post build.

You can use the default template to run PowerShell and batch (.bat) scripts before and after you compile your code, and before and after your run your tests. During the script execution you can make use...(Read whole news on source site)

Who do you want to KISS? - About simplicity in coding

AddThis Social Bookmark Button
Originally posted on: does KISS really mean? How do you write KISS code like required by TDD for phase two when going from red to green? To answer that we need to know what simplicity is. Wikipedia says “Simplicity is the state or quality of being simple. Something which is easy to understand or explain seems simple, in contrast to something complicated.” Well, that helps, doesn’t it? No, I don’t think so. Because it begs the question: What is easy to understand? I was wandering in the dark for a
long time myself. Couldn’t really get a hold on simplicity. I had the feeling I knew what it meant - but then it still was hard to explain. But fortunately those days are over. What one day cleared my understanding was a simple sentence I read on a page of B.J. Fogg: “Simplicity is a function of your scarcest resource at that moment.” Suddenly simplicity was easy to recognize and to apply. But let me explain what my understanding of this definition is: function of: Simplicity is...(Read whole news on source site)

Getting Started with ProcMon for Troubleshooting Long Running Processes

AddThis Social Bookmark Button
Originally posted on:   In this post I will cover a few tips for getting started with using ProcMon (Process Monitor in the Sysinternals Suite) for troubleshooting long running processes.  Note that I am not an expert in ProcMon by a long shot, so this is more of a selfish post to remind myself of some key settings to be sure to configure.    Side note.  You can run the Sysinternals tools from the web at Sysinternals Live without needing to download the tools to your local machine.  This is useful if your customer /
organization doesn’t allow installing / running 3rd party tools or has concerns about running them directly on a machine.   Background    Skip down to the Tips section if you don’t want to read the back story.    At least once a month I have a customer scenario where two or more applications are not playing nice with each other.  A .Net website and anti-virus software, SharePoint and server backup software, etc.  Usually the problem involves one piece of software placing a write-lock or exclusive hold on a file / registry entry while the other...(Read whole news on source site)

Production postmortem: The evil licensing code

AddThis Social Bookmark Button
A customer gave us a call about a failure they were experiencing in their production environment. They didn’t install the license that they purchased for some reason, and when they tried to install that, RavenDB will not run. There is what this looked like: Once I had all those details, it was pretty easy to figure out what was going on. I asked the client to send me the Raven.Server.exe.config file, just to verify it, and sure enough, here are the problematic lines:
This is the default configuration, and this failure is
actually the expected and desired behavior. What is going on? This customer was running RavenDB in a development mode, without a license. That means that the server is open to all. When you install a license, that is a pretty strong indication that you are using RavenDB in production. It is actually common to see users installing the development mode in production, and registering the license at a later date, for various reasons. The problem with that is that this means that at least for a while, they were running with “everyone is admin” mode, which is great for development, but...(Read whole news on source site)

Ingredients for well-designed OWIN middleware components - Part 7

AddThis Social Bookmark Button
In the sixth post of this series I talked about how you can use Swagger to create real useful documentation for your API. In this seventh and probably last post, I'd like to present some spices to make that OWIN middleware component extra special.

Spice 1: Automate your entire build process using PSake
So you've completed the first version of your component and you're ready to ship it as a NuGet package. Manually creating that .nuspec file, running nuget.exe and publishing it to is not that difficult to do. But now what? Are you going to do it like that forever?
Of course not. That's why we have the power of PowerShell to our disposal, something that I already demonstrated with ingredient 6.

Spice 2: Choose the right release strategy
Now that you have your first release out of the door, you'll have to start thinking about when and how you're going to release feature versions of your component. Is any change you make that good that you can ship right away? Or do you first want to stabilize upcoming releases by shipping alpha or beta packages to be tested by your consumers. Within the git open-source world, two...(Read whole news on source site)

The Morning Brew #1913

AddThis Social Bookmark Button
Information RyuJIT Bug Advisory in the .NET Framework 4.6 – Rich Lander .NET Lifecycle, Roadmap, and Announcements – Joe Irizarry & Reed Robison Getting Started with Windows 10 – Scott Hanselman Differences between Windows 10 Home, Pro, Enterprise and Education Editions – Scott Ge Introducing TypeScript npm nightlies – Jonathan Turner A Complete List of […]

Rx Challenge #8 Solution

AddThis Social Bookmark Button
this post is part of series, the hole series can be found in here. this challenge was all about buffering the data on suspension period and flush it out on resume. the idea is to suspend the observable notification for a while without loosing data. the following diagram show the required functionality Marble Diagram /************************************************* […]

How to display the back button in the Windows Universal APPs title bar ?

AddThis Social Bookmark Button
Windows 10 Apps are universal apps they can be used in any device of any form factor. Normally apps running in windows tablet will be having back button on the screen. But when it comes to windows phone there is a default hardware back button. So the developer has to check what kind of device it [...]

Git Ignore to Untrack TypeScript Auto Generated Files

AddThis Social Bookmark Button
When using TypeScript you really don't want the transpiled output files created from the source .ts file to be committed to the repository. This is because the output could be looked at analogous to the /bin generated files which we all know are not to be committed. The TypeScript auto-generated files (.js and will be built independently for each user's source, and only the single .ts file should be committed. 

The only exception I see to this process is if there is a restriction on TypeScript compiling on the server (i.e. CI build server) in which case the actual .js file might have
to be committed. As long as the TypeScript compiler is present for compilation, only the .ts file should be committed.

To ignore the auto-generated .js and files for a new project the process is quite simple. Just add some rules to the .gitignore file at the root of your project like below and these files will not be tracked.

# Typescript Auto-generated files
# Note: all files must be TS files in this directory or ordinary JS files could be removed
# Modify as needed to preserve files and be more explicit