Visual Studio 2015

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, you can visit our Developer Community website to get started. 

For suggestions for improvements to other developer products, see these sites:

To review the current UserVoice statuses and their definitions, please review our “What Does the Status of My Feedback Mean?” article.

We look forward to hearing from you!

- The Visual Studio Team
Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Create a Ubiquitous .NET Client Application Development Model

    This vote is for developers who wish to see the idea of a ubiquitous .NET client application development model created by Microsoft and the Visual Studio team.

    A ubiquitous .NET client application development model is a model that is defined in .NET-based technologies and is able to run in a multitude of runtime environments -- both native-compiled (store-hosted) and web-hosted.

    A *very* rough image of the vision can be found here:
    http://i0.wp.com/blog.developers.win/wp-content/uploads/2015/09/Vision.png

    The goal is to enable *one* .NET Client Application Project to build deliverables for the following platforms:
    1) Windows 10
    2) Legacy Windows
    3) *nix (Unix/Linux)
    4) Droid …

    4,653 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      under review  ·  125 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Support .NET Builds without requiring Visual Studio on the server

      To build certain PCL libraries and libraries for Windows 8 RT requires having Visual Studio on the server.

      Nick Berardi writes about a workaround that allows running a build server without VS, but it's really just a workaround for functionality that should be easy.

      Not to mention there's probably licensing considerations we're just ignoring by doing that.

      http://nickberardi.com/a-net-build-server-without-visual-studio/

      Please make it easy (and legal) to build .NET projects on a server without requiring a Visual Studio installation (or license) on that server.

      4,243 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        27 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Better NullPointerException Error message

        Let's say you have the line

        a.b().c().d().e().f().g();

        and you run it and get an
        System.NullReferenceException: Object reference not set to an instance of an object.

        Where did this happen? what do you need to fix?

        A better error message would be

        The Call: null.e()
        Caused a Null Reference Exception

        this would make debug/life a lot easier.

        I would also suggest you use the full method signature so you might get

        The Call: null.e(string, List<string>)

        2,519 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          32 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →

          Thank you for using Visual Studio and for your commitment to improving it. We are actively evaluating whether we will be able to bring this suggestion into the product for .NET developers for the System.NullReferenceException in a future release.
          We have recently made an improvement, similar to this suggestion, for debugging C++ Access Violations in Visual Studio 2015 Update 1.
          Read about it here: http://blogs.msdn.com/b/visualstudioalm/archive/2015/10/29/improvement-to-debugging-c-access-violations-in-visual-studio-2015-update-1.aspx

          We encourage you to continue to comment on and vote for this UserVoice item to share any additional feedback that you have for this suggestion.

          Thanks,
          Kaycee Anderson
          Visual Studio Diagnostics

        • One .NET Framework for One Microsoft

          Proposal is to create a “One Framework” project at Microsoft to encompass both technology development and a consistent message for customer engagement. A developer should be able to fire up Visual Studio and use C# and Xaml to target Windows Desktop, Windows Store Apps, and Xbox One along with a cloud deployed “click once” option to all these targets. There should be clear guidance that all of these will be both supported and enhanced for a long time to come. It would be a nice extra to have a fully supported by Microsoft targeting of C# to Android and IOS…

          2,243 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            28 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Support for collectible assemblies

            Support for collectible assemblies, i.e. assemblies that can be unloaded from memory (without deleting appdomain).
            Example: Build a kind of REPL on top of your application so that user can script your application. This leads to high customization capabilities. The user script might be sent via files to the application running 24/7, hence you need emitted code to be collected.

            1,232 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              18 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • Support a .NET 4.0 Service Pack on Windows XP Supporting those .NET 4.0 Bugs Fixed in .NET 4.5

              This idea is in contrast to http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2723735-make-net-4-5-work-on-any-os-that-supports-4-0 and http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3116039-support-xp-for-4-5-until-the-end-of-xp-support-, which I do not support. It is parallel to http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3095632-make-vs2012-not-hide-net-4-0-bugs-when-targeting-, but I think is the converse of it.

              Consider a developer who must support customers running Windows XP, and who also is unable or unwilling to debug their applications on a machine separate from their main development machine. Such a developer may feel that he cannot upgrade to Visual Studio 2012, since that installation would replace the .NET 4.0 assemblies on the developer machine, making it impossible for the developer to encounter the fixed .NET 4.0 bugs.

              Unfortunately, it…

              1,112 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                40 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • support project.json/global.json for all project types, not just ASP.NET

                As demonstrated at TechEd, ASP.NET vNext projects support a new Nuget mechanism whereby packages are organized in a by-project project.json file. Also of particular interest is the ability to override the package with local sources in a solution file called global.json, which facilitates a much smoother way to contribute to projects outside the solution. Please do this for all project types.

                907 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  17 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Implement XSLT 3.0 for .Net

                  Fully support XSLT 3.0 in .Net (Including XQuery 3.0 and XPath 3.0)

                  http://www.w3.org/TR/xslt-30/

                  823 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    under review  ·  15 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Native support for XPath 2.0 or XSLT 2.0 in .NET

                    Provide native support for XPath 2.0 or XSLT 2.0 in .NET framework, and of course extend it to SharePoint and other related technologies

                    706 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      19 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Fix it so that .NET apps can access HTTP thru authenticating proxy server by default

                      If you run a .NET app that needs to talk to the web, and you're behind an authenticating proxy server, then that app will fail to talk to the web.

                      Internet Explorer and Google Chrome work, Visual Studio and loads of other Microsoft apps will work. They can all talk to the web. But every .NET-based app or website I've ever seen will fail.

                      The implications of this are profound. I've seen umpteen forum posts over the years where people are scratching their heads, wondering what's wrong. I've seen IT guys re-route their users thru special-case connections to the web,…

                      609 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        21 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Add support for ALPN to System.Net.Security.SslStream

                        The proposal is to add TLS ALPN support to the System.Net.Security.SslStream API. One of the key applications of this would be to negotiate SPDY or HTTP/2 connection with a server.

                        "Microsoft drove into the TLS working group a new standard called ALPN: [IETFDRAFT-ALPN] Internet Engineering Task Force (IETF), "Transport Layer Security (TLS) Application Layer Protocol Negotiation Extension", draft-ietf-tls-applayerprotoneg-00, April 2013, http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00 This standard uses a TLS extension during the handshake to communicate to the server/client what inner protocol will be spoken over the secure stream. For instance, this is how SPDY and HTTP/2.0 connections are negotiated between browsers and compatible…

                        554 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          8 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • GPGPU programming

                          It would be very beautiful if .Net supports GPGPU programming like http://en.wikipedia.org/wiki/GPGPU
                          especially that know graphic accelerators are in every where from PCs to Phones to Tablets..

                          479 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            5 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • Support server SSL certificate chain inspection in Portable Class Libraries

                            As requested in http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3158400-add-httpclient-support-in-portable-class-libraries there is now an HttpClient that can be used in Portable Class Libraries. The latest version of portable HttpClient today is 2.2.15 and it supports also SSL connections.

                            When a SSL connection is created, the HttpClient doesn't offer any way to inspect the x.509 certificate chain returned by the remote server. I want to implement certificate pinning for additional security in my app and therefore I need an API to read the values of individual x.509 certificates.

                            I've understood that this could be done in these frameworks:
                            - .NET FW 2.0 (or newer): using System.Net.ServicePointManager.ServerCertificateValidationCallback API…

                            407 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              9 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Optimize Math functions

                              Currently the JITer doesn't do a good job with a lot of the .Net Framework, and the Math functions in particular.

                              Example: Math.Abs

                              The emitted assembly is pretty much the same for all types. It should optimize to take advantage of x86 instructions that have been around for more than a decade.

                              cdq
                              xor eax,edx
                              sub eax,edx
                              ret

                              393 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                7 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Add TryRemove(TKey key, out TValue value) to Dictionary<TKey, TValue>

                                Currently, to "pull" an item out of a Dictionary it is a two step process:

                                SomeClass value = null;
                                if (dictionary.TryGetValue(theKey, out value))
                                {
                                dictionary.Remove(theKey);
                                // do something with the item...
                                }

                                This requires the hash code to be generated twice, which can be costly in high performance scenarios (which is why TryGetValue exists in the first place).

                                It would be optimal to be able to do:

                                SomeClass value = null;
                                if (dictionary.TryRemove(theKey, out value))
                                {
                                // do something with the item...
                                }

                                Implementation would be trivial and provide significant benefit.

                                368 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  11 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Start developing the Windows API Code Pack again

                                  Back in the Windows 7 timeframe, Microsof gave us the "Windows API Code Pack", as a way of using some of the new Win 7 APIs from .Net.

                                  It was really useful, but (like anything) it had some bugs, and was missing some useful features.

                                  Unfortunately it seems to have been abandoned by Microsoft, with no release since August 2010, and the website moved to the "archive" site:
                                  http://archive.msdn.microsoft.com/WindowsAPICodePack

                                  Please bring it back!

                                  NuGet seems like a perfect vehicle for distributing a package such as this, so that API bindings can ship alongside OS releases (or not), rather than being…

                                  293 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    10 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • make .net real platform independent. add linux support, mac osx, etc.

                                    create .net runtime for other os. linux, mac osx,

                                    253 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      10 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →

                                      Thanks a lot for the feedback. Not only is this happening, it’s also happening in the open! You can follow as we’re making progress on GitHub. You can even participate and help us bringing .NET to Mac OSX and Linux!

                                      See these posts for more details:

                                      http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx

                                      http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

                                      http://blogs.msdn.com/b/dotnet/archive/2015/02/03/coreclr-is-now-open-source.aspx

                                      Thanks,
                                      Immo Landwerth
                                      Program Manager
                                      .NET Team

                                    • Provide a ResourceManager abstraction mechanism

                                      The existing System.Resources.ResourceManager is based on .resx files built into a fallback assembly with multiple satellite assemblies. This model works fine for some situations but it is inappropriate for others. It is relatively easy to create custom resource managers but it is not simple to get an application to use the custom resource manager instead of the ResourceManager.

                                      What is needed is an abstraction from the 'default' ResourceManager - a mechanism by which I can tell my application to use *my* resource manager instead of System.Resources.ResourceManager.

                                      The solution should not be tied to a specific user interface technology. For example…

                                      239 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • WeakReference and WeakEvent operators

                                        //weak reference:
                                        var value = weak(new Reference());

                                        //weak event:
                                        var source = GetLongRunningObject();
                                        source.PropertyChanged += weak(source_PropertyChanged)

                                        Or in VB.NET:
                                        'reference:
                                        Dim source = Weak(GetReference)

                                        'event:
                                        Dim source = GetLongRunningObject();
                                        AddWeakHandler source.PropertyChanged, AddressOf source_PropertyChanged

                                        I would surely prefer a symbol operator rather than a verbose one, but I would prefer seeing it in the language

                                        233 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Please keep the Reference Source symbol server updated

                                          The Reference Source is a very useful feature, particularly so for its ability to step through framework code. But that feature never lasts very long after a release. Many programmers have .NET 4.5.2 on their machine today, the server doesn't supply the necessary PDBs. Downgrading to 4.5.1 is painful and often not possible at all.

                                          Please keep the server updated.

                                          216 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 19 20
                                          • Don't see your idea?

                                          Feedback and Knowledge Base