Skip to content

Feed aggregator

RavenDB 3.0 Release date: 25 Nov, 2014

Ayende @ Rahien - Fri, 11/21/2014 - 10:16

Barring anything major, we’ll be releasing RavenDB 3.0 in 5 days Smile.

It will be  a stable release and you’re encourage to move to it as soon as it is available, using the Esent database.

The Voron database is still in RC mode (mostly because we’re paranoid and want to have more real world experience before we go full forward with this), but it is going to be fully supported.

Upgrading instances will use Esent, and new databases will default to Esent unless you explicitly select Voron.

Categories: Blogs

What is New in ASP.Net 5 in Visual Studio 2015

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
This article just highlights the new features released by Microsoft on ASP.NET 5 in Visual Studio 2015 preview
Categories: Communities

Custom Loader in Windows Phone

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
This article explains the basic steps to implement a Costum Loader in Windows Phone apps.
Categories: Communities

Creating Angular App Without Using ng-app Directive

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
This article explains how to use Angular App without using a ng-app directive.
Categories: Communities

Create and Format Chart Using Free Spire.Xls

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
This article explains how to create and format a chart using free Spire.xls.
Categories: Communities

Branding in SharePoint Online

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article you will learn about branding in SharePoint Online.
Categories: Communities

How to Send Mail Using SQL Server: Part 3

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article I am explaining how to schedule a daily mail from SQL Server 2008.
Categories: Communities

How To Send Mail Using SQL Server: Part 2

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article you will learn how to select data from a table and send that data to an email using SQL Server 2008.
Categories: Communities

How To Send Mail Using SQL Server: Part 1

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article we are going to learn the concept of mail sending using the Sql Server.
Categories: Communities

Remove Unused View Engine Sample in MVC: Day 37

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article we will see how to remove a web form view engine for performance enhancement in MVC.
Categories: Communities

Improvement on Exception Handling in C# 6.0

C-Sharpcorner - Latest Articles - Fri, 11/21/2014 - 08:00
In this article, I will explain the improvement of exception handling introduced in C# 6.0
Categories: Communities

Mobile Essentials: Productivity Tools for Mobile Developers

Daniel Cazzulino's Blog - Fri, 11/21/2014 - 01:00

A bunch of mobile development and tooling enthusiasts here at the office wanted to put out some tools, templates and general productivity enhancements for mobile developers, so we decided to set up a custom Visual Studio gallery that you can set up to get these tools in an integrated fashion in the Extensions and Updates dialog (a.k.a. Extension Manager). These will generally be projects we work on the side, on weekends and nights and hackathons.

The goal of these extensions is to be completely independent of your other tools in VS (like your Xamarin installation) so that you can try them without risking breaking your stable development environment. If something doesn’t quite work, you just remove the extension and you’re done. Pristine environment back!

At Xamarin, we may use this gallery also for early prototypes or spikes we do on top of the Xamarin Platform, so that we can gather early feedback without disrupting your stable installation and without requiring you to switch between official channels. Whatever we put out will be for use “at your own risk” so to speak. As I said, it could become a way for us to also share bits earlier and get timely feedback for things that may make it into the core product. It also would allow us to discard ideas that don’t get traction :).

The source code for the gallery itself as well as installation instructions are available on GitHub. I’m copying the instructions here for convenience:

Mobile Essentials Gallery Beta

The Mobile Essentials Gallery provides a custom Visual Studio Gallery (also called Private Galleries, but ours is pretty public ;)) with experimental and early prototypes and tools for mobile development on the Xamarin platform.

All extensions are provided free to use and experiment. We welcome your feedback on the tools at our UserVoice forum!


In order to get the new gallery in your Visual Studio 2012 (or later), open Tools | Options and configure the page Environment > Extension Manager as follows:

Gallery Setup

Once the gallery is set up, you can go to Visual Studio’s Tools | Extensions and Updates... menu and a new Mobile Essentials node will appear under the Online category, where you can explore and install the tools:

Using the Gallery

Updates also show in this same window, under the respective category Updates > Mobile Essentials:

Using the Gallery


As you can see, one of the first extensions we’ve uploaded is an initial version of Xamarin.Forms intellisense. You probably guessed that that’s one that will definitely make it into the main Xamarin installation in the future ;).

Categories: Blogs

Windows "Command Prompt Here" Generator - Now with VS2015 Support

Travis Illig - VS2015 Command Prompt Here

If you're a user of those right-click "Command Prompt Here" context menu utilities... I just updated my Command Prompt Here Generator with a developer prompt for Visual Studio 2015. Head over there to get an installer for "VS2015 Prompt Here" (or any other prompts you might be interested in).

Windows "Command Prompt Here" Generator

This wizard allows you to generate a custom "Command Prompt Here" context menu item for Windows. After selecting the prompt and customizing text, a small installer will be generated for you so you can use your prompt.

First, select the command prompt you'd like to appear in the context menu.

Command Prompt
PowerShell Prompt
VS 2003 Command Prompt
VS 2005 Command Prompt
VS 2008 Command Prompt
VS 2010 (x64) Command Prompt
VS 2010 (x86) Command Prompt
VS 2012 Developer Command Prompt
VS 2012 Native x64 Command Prompt
VS 2013 Developer Command Prompt
VS 2015 Developer Command Prompt



It's the simple things that I like, like a web site that generates INF files that help me add "Command Prompt Here" Explorer right-click/context menus...

Categories: Blogs

Hey, there's a Macro in my Visual Studio! (Well, there will be if you install this extension...)

Visual Studio Gallery - Macros for Visual Studio 2013

An extension for Visual Studio 2013 that enables the use of macros in the IDE. The extension can record most of the features in Visual Studio including text editing operations.


Macros for Visual Studio 2013 is an extension for Visual Studio 2013 that enables the use of macros to automate repetitive tasks in the IDE. The extension can record most of the commands in Visual Studio including text editing operations.

  • Record and playback active document operations and Visual Studio IDE commands

  • Playback multiple times

  • Manage and persist macros with a Macro Explorer

  • Assign keyboard bindings to any macro

  • Macros recorded as JavaScript files that call VS DTE APIs

  • Macro editing in Visual Studio with DTE IntelliSense

  • Stop playback

  • Sample macros


Getting Started

After installing the extension, the Macro menu will appear under Tools > Macros. Under this menu, you'll find commands to record and playback a macro.

Current macro

The Current macro is a temporary macro that holds the last recorded macro. To persist it, use the Macro Explorer toolbar command Save Current Macro (or right-click the Current macro). Name the new macro and assign a shortcut if you wish. The new macro will then be persisted on your file system.


Sample macros Accessibility
  • Decrease Font Size
  • Increase Font Size
  • Maximize Tool Windows
  • Close Except Active: close all files in Visual Studio except active file
  • Headify All: insert header into each C# file in the solution
  • Remove and Sort All: remove unused usings and then sort, for each C# file in the solution
  • Beginning of Function: moves cursor to the beginning of the current function
  • Insert Date & Time
  • Insert Date
  • Insert Header: insert header into current C# file
  • Insert Time
  • Pane Center Screen
  • Pane Top Screen
  • Save Backup: saves active document as .bak file in current directory
Snippets (inserts code snippet)
  • For Each Document: to iterate through each open document in Visual Studio
  • For Each Window: to iterate through each open window in Visual Studio
  • Properties: grab one of the properties in Tools >> Options
    For example, (show/hide status bar):
    var property = dte.Properties("Environment", "General"); property.Item("ShowStatusBar").Value = true
  • Undo Context: encapsulate a single undo in macro script
  • Find Line: queries find tool for current line
  • Toggle Line Numbers
  • Toggle Word Wrap

The following are not supported by the extension right now:

  • Recording interaction with dialogs
  • Recording of 'async' commands like Build may not execute as expected
  • Execute a macro inside another macro


If you present, this might be a huge time saver for you. If you do the same thing, over and over in VS, this might be a huge time saver for you. If you just like the idea of have Macro's in your VS, this...

Now, we just need a "store" or gallery and/or an easy means to share our Macro's and I think we'd be good. :)

Categories: Blogs

ReSharper and Visual Studio: Where do We Stand

JetBrains .NET Tools Blog - Thu, 11/20/2014 - 18:57

Visual Studio keeps evolving, and ReSharper support for the Microsoft IDE is up to the challenge as usual. As a reminder, ReSharper 8.x currently supports a staggering 5 Visual Studio versions: 2005, 2008, 2010, 2012, and 2013. It’s only been half a year since we discontinued sales of ReSharper 2.x with support for Visual Studio 2003.

In light of recent Microsoft announcements and our internal decisions we’d like to give you an update on how we stand in regard to supporting different versions of Visual Studio. We have good news and bad news.

Bad news: ReSharper 9 and other .NET tools will not support Visual Studio 2005 and 2008

This was coming for a long time but we kept giving VS2005 and VS2008 one last chance after another. It didn’t help the case that certain recent ReSharper features such as Architecture Tools and Extension Manager weren’t by definition compatible with VS2005 and VS2008. Given the complexity of changes that ReSharper and other .NET tools have been subject to during the ReSharper 9 development cycle, we could have opted to release unstable, untested support for VS2005 and VS2008 but we chose not to. As we stand, we have to stop maintaining support for these releases to focus on up-to-date challenges.

To sum it up, the upcoming releases of ReSharper (including ReSharper 9) and other JetBrains .NET tools will not support Visual Studio 2005 and 2008. Only Visual Studio 2010 and later will be supported further on.

ReSharper 8.2.3, dotTrace 5.5.6, dotMemory 4.1 and dotCover 2.7.2 will become the last releases to support Visual Studio 2005 and 2008. Please keep using these stable releases if you’re staying with Visual Studio 2005 and/or 2008.

Should you or your team mates need to purchase new ReSharper licenses and expect them to work in Visual Studio 2005 and 2008, as a workaround, you’ll be able to buy ReSharper 9 licenses and use them with ReSharper 8.2.3 as we have specifically made sure that this release accepted the new license format.

Good news: ReSharper 9 will support Visual Studio 2015

Therefore, ReSharper 9 will support Visual Studio 2010, 2012, 2013 and 2015.

Following the pattern of ReSharper 8 release, version 9.0 will provide support for Visual Studio 2015 Preview, and further updates will add any necessary improvements required to integrate smoothly into the final VS2015 release. In case you have missed it, the current early ReSharper 9 builds work with Visual Studio 2015 Preview although there are known issues with its dark theme that are going to be fixed shortly.

We’re also close to smoothly integrating ReSharper’s quick-fixes and other Alt+Enter actions with Visual Studio 2015′s quick actions in a single UI:

#ReSharper loves #Roslyn: Feedback??

— Serjic Shkredov (@serjic) November 18, 2014

We expect to write more about ways how ReSharper 9 is going to work in Visual Studio 2015, so stay tuned.

More good news: Both ReSharper 8 and 9 integrate with Visual Studio Community 2013

Microsoft has recently released the (conditionally) free Community edition of Visual Studio 2013 that totally beats Visual Studio Express by supporting extensions. Immediately we were faced with questions whether ReSharper would work in the Community edition. The answer is yes, both ReSharper 8 and ReSharper 9 do integrate into Visual Studio Community 2013.

The next question we faced in this regard was whether ReSharper would introduce a free edition as well. Well, we’re not planning to provide a special free edition. This is not necessary however. Similar to Visual Studio Community that is only available to specific groups of customers (see Channel 9 Q&A for details), ReSharper is also available for free to multiple groups including Microsoft MVPs (along with other JetBrains .NET tools and WebStorm), students and teachers (along with all other JetBrains products), as well as faculty members and trainers for use in classroom environments. Additionally, startup companies can enjoy a 50% startup discount on all JetBrains tools.

Categories: Companies

PostSharp 4.1 Preview 1: Support for Xamarin & Visual Studio 2015

PostSharp - Blog - Thu, 11/20/2014 - 17:50

Just one month after we published PostSharp 4.0 RTM and one week after Visual Studio 2015 Preview went out, we’re excited to release PostSharp 4.1 Preview 1 today, introducing support for Xamarin and Visual Studio 2015. PostSharp 4.1 is all about adding support for new platforms. We want to make PostSharp the number-one extension for pattern-driven programming – not only for desktop and server applications, but also for mobile devices.

PostSharp 4.1 Preview 1 is available for download from our web site and from NuGet as a pre-release package. Note that this is still an early preview, and needless to say PostSharp Tools for Visual Studio 2015 are particularly experimental.

If you have 7:47 minutes to spare, look at this video, which shows the new user experience of adding INotifyPropertyChanged and undo/redo to a simple WPF app:

Support for Xamarin

A few years ago, PostSharp had an ambiguous relationship with Mono. Technically, it was possible to run PostSharp on Mono, and there were even a few classes written specifically for this use case. However, we didn’t have any significant testing with Mono. So  even if we said we “supported” it, the idea was really just: use PostSharp with Mono at your own risks.

Starting with PostSharp 3, we decided to take the term support more seriously. If we said PostSharp would support a platform, it means that we had automated tests for it, that we would have a development and testing lab, and that we would answer support requests. To support a platform is much more than merely hoping for eventual compatibility. So, we decided to remove Mono support in PostSharp 3. This was not a bad decision; we could not afford another anyway.

But since last week, things are different. Microsoft announced an enhanced partnership with Xamarin to make .NET the most productive development platform for all devices, from wearable to cloud . Through its potential to reduce the size and complexity of .NET code by 20%, PostSharp is a natural fit in this effort to increase developer productivity. Today, we’re announcing that PostSharp 4.1 embraces the cross-platform vision.

Limitations in PostSharp 4.1 Preview 1

This early release is an important milestone but there’s still much work to do:

  • We only added support for Xamarin into the PostSharp package, but not to the pattern libraries. That is, you can create your own aspects for Xamarin, but you cannot use the pre-built ones yet. Pattern libraries will be ported in a later release.
  • We only support a few Xamarin profiles. More will be supported later.
  • You can build only from Visual Studio. The Mac compilation server is supported but your main build machine must be Windows. Mac as a main developer workstation will not be supported in PostSharp 4.1.
Support for Visual Studio 2015

From our point of view, Visual Studio 2015 is the most significant release since Visual Studio 2005, when PostSharp started to integrate with the IDE. We had to rewrite significant portions of our software to take advantage of the new version. The new code is not only simpler, it is also faster and allows for more features and better integration.

When using PostSharp 4.1 with Visual Studio 2015, you will see the following differences:

  • Integrate with the light bulb instead of the smart tag. It’s a small difference but it will provide a more consistent experience. Smart tags didn’t scale well with multiple vendors (Microsoft, PostSharp and CodeRush for instance), but the light bulb has been designed for this.
  • Real-time detection of some errors. For instance, when making a class recordable or thread-safe, you know in real time that a field must be annotated with [Child] or [Reference].
  • Advanced code fixes. When making a class recordable or thread-safe, collection child fields have to be changed from List to AdvisableCollection. There’s now a code fix to do this change automatically, and it even updates field assignments where possible.
What’s Next in PostSharp 4.1?

In the next weeks, we’ll be working on the following improvements:

  • PostSharp Threading Pattern Library: support for Windows Phone, Windows Store and Xamarin.
  • PostSharp Model Pattern Library: support for Xamarin (Windows Phone and Windows Store are already implemented in 4.0).
  • Xamarin: support for all profiles.
  • Visual Studio 2015: tuning of the user experience.

You should now see a new release every 3rd week.

Happy PostSharping!


Categories: Open Source

Large scale distributed consensus approaches: Large data sets

Ayende @ Rahien - Thu, 11/20/2014 - 11:00

In my previous post, I talked about how we can design a large cluster for compute bound operations. The nice thing about this is that is that the actual amount of shared data that you need is pretty small, and you can just distribute that information among your nodes, then let them do stateless computation on that, and you are done.

A much more common scenario is when can’t just do stateless operations, but need to keep track of what is actually going on. The typical example is a set of users changing data. For example, let us say that we want to keep track of the pages each user visit on our site. (Yes, that is a pretty classic Big Table scenario, I’ll ignore the prior art issue for now). How would we design such a system?

Well, we still have the same considerations. We don’t want a single point of failures, and we want to have very large number of machines and make the most of their resources.

In this case, we are merely going to change the way we look at the data. We still have the following topology:


There is the consensus cluster, which is responsible for cluster wide immediately consistent operations. And there are all the other nodes, which actually handle processing requests and keeping the data.

What kind of decisions do we get to make in the consensus cluster? Those would be:

  • Adding & removing nodes from the entire cluster.
  • Changing the distribution of the data in the cluster.

In other words, the state that the consensus cluster is responsible for is the entire cluster topology. When a request comes in, the cluster topology is used to decide into which set of nodes to direct it to.

Typically in such systems, we want to keep the data on three separate nodes, so we get a request, then route it to one of those three nodes that match this. This is done by sharding the data according the the actual user id whose page views we are trying to track.

Distributing the sharding configuration is done as described in the compute cluster example, and the actual handling of requests, or sending the data between the sharded instances is handled by the cluster nodes directly.

Note that in this scenario, you cannot ensure any kind of safety. Two requests for the same user might hit different nodes, and do separate operations without being able to consider the concurrent operation. Usually, that is a good thing, but that isn’t always the case. But that is an issue of the next post.

Categories: Blogs

Tagging a fake Orchard content item

In my series of posts about building fake Orchard content items for testing purposes, here’s a short one that shows how to add tags to a fake content item. This one is interesting because it shows a basic case of relationship (between the item and its tags). The way tags have been implemented (it’s one of the oldest modules in Orchard, and one that should honestly be replaced with taxonomies in almost all cases), in order to add tags, we’ll need to create records for each:

public static class TagsHelper {
public static void AddTags(IContent item, params string[] tags) {
var tagsPart = new TagsPart {
Record = new TagsPartRecord {
Tags = tags.Select(tag => new ContentTagRecord {
TagRecord = new TagRecord {
TagName = tag

This little helper just creates a tags part, then one relationship record per tag (ContentTagRecord), pointing to corresponding tag records. In a real database, tag records can be used by more than one item, which is why we need the relationship records, but for testing, it’s most of the time ok to create new tag records very time.

The helper can be used as follows:

var item = ContentHelpers.PrepareItem("TestType", 1);
TagsHelper.AddTags(item, "tag1", "tag2", "tag3");

The code for the ContentHelpers class can be found here. I’m using an additional method here that build a basic item without any additional parts beyond the Infoset:

public static ContentItem PrepareItem(string contentType, int id = -1) {
var infosetPart = new InfosetPart();
var contentItem = infosetPart.ContentItem = new ContentItem {
VersionRecord = new ContentItemVersionRecord {
ContentItemRecord = new ContentItemRecord()
ContentType = contentType
contentItem.Record.Id = id;
return contentItem;

Next time, I may show how to add a fake taxonomy to a fake item, which is insanely more difficult.

Categories: Blogs

How to Add URL to Trusted Zone in IE

C-Sharpcorner - Latest Articles - Thu, 11/20/2014 - 08:00
In this article you will learn how to add an URL to a Trusted Zone in IE.
Categories: Communities

ASP.Net MVC Controller

C-Sharpcorner - Latest Articles - Thu, 11/20/2014 - 08:00
This article explains controllers, controller actions and action results. After reading this article you will understand how visitors visit an ASP.NET MVC website using a controller.
Categories: Communities