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


Visual Studio 2015 Diagnostics Investments

AddThis Social Bookmark Button
When we wrapped up the last release of Visual Studio, I wrote a blog post titled: Visual Studio 2013 Diagnostics Investments, which gathered all the links to our blog posts and other content into a single place. It seems fitting to do the same now that VS2015 has RTM’d, and the same intro I wrote last time applies, so I won’t repeat that here. When I think of the Diagnostics Investments we made in this release, I classify them into 4 broad buckets: platform support, addressing customer feedback, catching performance issues early, and historical debugging with IntelliTrace. Platform support Every
time Visual Studio needs to support a new operating system version or platform, the Visual Studio Diagnostics team has to do a bunch of work just to keep things working before even considering adding new capabilities – and we added a bunch! This release was no different, adding support for Windows 10 and the various Windows 10 device types, e.g. desktops, tablets, phones, Xbox, and HoloLens. You can now enjoy the regular awesome Visual Studio debugging and profiling experience for all those devices. The same applies to profiling and debugging .NET Native apps and debugging support for ASP.NET 5. In addition,...(Read whole news on source site)

Office 365 Groups for Admins - Group creation policies

AddThis Social Bookmark Button
In this post of the Office 365 Groups for Admins series I will talk about the small but important policies we can apply to Group creation. At the moment there is very little control of the actual Office 365 Group creation in Office 365. And this tends to be one really important aspect of the Unified Groups discussion - can we allow them or not? I do hope that I over the time can update this post with new and improved governance features. Group naming policies One of the few configuration options you have for the Unified Groups is
how they are named when created. You do not configure this from the Groups settings in the Admin portal, where one could expect it to be, but rather under Admin > Exchange > Recipients > Groups. Then click on the ellipsis (…) and Configure group naming policy: The Group Naming Policy consist of two parts; General and Blocked Words. An important thing to remember is that these policies only applies to when an end-user creates a Group in the user interface (web or Outlook 2016), not when an administrator creates them using PowerShell. General Under the General configuration...(Read whole news on source site)

Production postmortem: The case of the native memory leak

AddThis Social Bookmark Button
This one is a pretty recent one. A customer complained about high memory usage in RavenDB under moderate usage. That was a cause for concern, since we care a lot about our memory utilization. So we started investigating that, and it turned out that we were wrong, the problem wasn’t with RavenDB, it was with the RavenDB Client Library. The customer had a scenario where 100% of the time, after issuing a small number of requests (less than ten), the client process would be using hundreds of MB, for really no purpose at all. The client already turned off
caching, profiling and pretty much anything else that both they and us could think of. We got a process dump from them and looked at that, and everything seemed to be fine. The size of the heap was good, and there didn’t appear to be any memory being leaked. Our assumption at that point was that there is some sort of native memory leak from their application. To continue the investigation further, NDAs was required, but we managed to go through that and we finally had a small repro that we could look at ourselves. The fact that the...(Read whole news on source site)

The Morning Brew #19091908

AddThis Social Bookmark Button
Update: As correctly pointed out by Jan in the comments this post should have been numbered 1908 rather than 1909. I’ve corrected the post title, but the URLs are going to remain Information Roslyn and Mono – Miguel de Icaza ReSharper 9.1.2 for Visual Studio 2015 RTM – Jura Gorohovsky Visual Studio 2015 RTM: What’s […]

10 Common Mistakes Web Developers Make

AddThis Social Bookmark Button
There seems to be endless choices regarding how to accomplish the same task - to develop a website that works in today's modern web. Web developers have to choose a web hosting platform and underlying data storage, which tools to write HTML, CSS, and JavaScript in, how design will be implemented, and what potential JavaScript libraries/frameworks to include. Once choices are narrowed down, the online world is filled with articles, forums, and samples that provide tips for making a better web experience. Yet no matter which path is taken, all developers are susceptible to mistakes. Although some mistakes will be
related to a specific approach, there are challenges shared among all web developers. So through research, experience, and recent observations, I thought I would share a list I compiled of ten common mistakes I see web developers make - and how to avoid them. The following list is in no particular order. 1)  Writing old school HTML Mistake: The early days of the internet had much less options for markup than we do today. However, old habits die hard, and many still write their HTML as if we were still in the 20th century. Examples here are using...(Read whole news on source site)

Dealing With Unreliable TPL Tasks

AddThis Social Bookmark Button
Suppose you have a collection of .net TPL tasks and the knowledge that some of them may fail (throw an exception) and some may take an unacceptably long period of time to resolve. In the case of the errored tasks you wish to collect information to assist diagnosis. In the case of the long running tasks you wish to ignore them and allow the program to carry on so that throughput is maintained. This is not a simple problem when using the .net TPL (Task, async, await, etc), which seems to be designed with an all or nothing mentality. Consider the
following motely crew of tasks: Task[] calcTasks = new [] { Task.Run(() => { Thread.Sleep(200); var div = 0; return new Nullable(5/div); }), Task.Run(() => { Thread.Sleep(100); return new Nullable(42); }), Task.Run(() => { Thread.Sleep(1500); return new...(Read whole news on source site)

Office 365 Groups for Admins - Groups entry points

AddThis Social Bookmark Button
In this first post of the Office 365 Groups for Admins series I will show you where you have the different entry points for the Unified Groups. It's important to understand this as it is important in the posts to follow. Office 365 Mail (end users) The first and perhaps the most obvious point of Office 365 Groups is in the Office 365 Mail application (Outlook Web App, OWA). On the left hand side you will see the Groups heading. Under that heading 10 of the Groups you are member of are shown, with your Favorites on top.
Clicking on Browse Groups will take you to a public listing of all available Groups within your tenant. Clicking on Create Group will allow anyone within your organization to create a new Group. Clicking a Group here navigates you to the discussion view of the Group. Office 365 Calendar (end users) From the Calendar view of OWA you will see the your Groups (up to 10) and you can add their calendars as overlay. Clicking on a Group here navigates you to the Groups Calendar view. OneDrive for Business (end users) In OneDrive for Business you will also see the...(Read whole news on source site)

Office 365 Groups for Admins - Enable and disable user creation of Groups

AddThis Social Bookmark Button
This is the third post in my Office 365 Groups for Admins series and it will focus on one of the primary tasks an Office 365 Admin has to do once their tenant is up and running; should we allow our users to create Office 365 Groups or not? I'm not going to give you an answer to this. It is something you need to evaluate properly within your organization, but I do recommend that you initially always turn off Groups, so that you can get some governance into the game before promoting it to everyone. Important! Disabling Office
365 Group creation as described in this post will only disable it in the user interface (for everyone, including admins). We can still create Unified Groups using PowerShell (more on that in later posts). I will show you how to check the status of Groups creation, how to disable it and how to enable it (you will eventually do this…cause the Unified Groups rocks!). To do all this we need to use PowerShell, there is no way to do this in the UI or admin portal of Office 365. Check the Office 365 Groups creation status To check if our...(Read whole news on source site)

AngularJS Extend and Computed Property

AddThis Social Bookmark Button
This is an Intermediate level discussion on AngularJS Extend, Computed Property in general, and a fairly complicated binding bug that needs some new learning. I came from a KnockoutJS world.  In the KnockoutJS world which I'm familiar with, there is the concept of a Computed Property.KnockoutJS Computed PropertyBecause native Javascript objects does not raise OnPropertyChanged events, KnockoutJS wraps properties with an observable wrapper.
A class would look like this:function PersonViewModel(){ var self = this; self.firstName = ko.observable(""); self.lastName = ko.observable(""); self.fullName = ko.computed(function(){ return [
ko.unwrap(self.firstName), ko.unwrap(self.lastName) ].join(" "); }); }The developer takes care of the properties firstName and lastName, and KnockoutJS understands when firstName or lastName changes, fullName needs to be re-evaluated.AngularJS binds Native Javascript ObjectIn AngularJS, there is no direct concept of a Computed Property, instead, AngularJS watches various binding expressions and automatically re-evaluate expressions.  Since AngularJS binds to native Javascript directly, it employs a dirty checking mechanism.A native person might look like this:var person = { firstName: "", lastName: "" };And a View would look like this:
First Name: {{ person.firstName...(Read whole news on source site)

Ingredients for well-designed OWIN middleware components - Part 5

AddThis Social Bookmark Button
In the fourth installment of this series I proposed a pattern for postponing expensive operations from inside your middleware component until the OWIN pipeline has been constructed. In this post, I'm going to talk about aligning package dependency versions. Why? Well, in my experience a well-designed middleware component may end up resulting in more than a single NuGet package. 

I'm not talking about its public dependencies (which you've obviously internalized), but about other output from the same solution. For instance, imagine your middleware component supports extension points or external services in the form of an
IPlugin or IWhateverDependency that you can pass through your component's settings:

public class MyPlugin : IPlugin

appBuilder.UsePiercer(new PiercerSettings().Using(new MyPlugin());

Now, you could include the contract of those extensions, the IExtension interface, as part of the NuGet package that brings in the middleware component. But as an extension developer, that would require you to directly reference the middleware component. If you carefully design your component, I would put that extension interface in a dedicated NuGet package post-fixed with Extensions or something alike.

Assuming you use automatic versioning through GitVersion...(Read whole news on source site)