Visual Studio

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, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
Visual Studio Team

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 vote and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  1. Multiplatform Framework

    We are really bored to write applications only for Windows. You should publish .NET Framework for other platforms. Mono project is not enugh. We need offical .NET Framework package for Linux Distros and OS X. And "build once, run everywhere" option would be good. Like Java's JAR packages...

    19 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…)
      1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • SQL Compact 4 work with for Linq to SQL

      Have SQL Compact 4 work with for with Linq to SQL without having to do hack your way to make it work

      19 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…)
        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • implement INotifyCollectionChanged on System.Data.Linq.EntitySet<T>

        Because EntitySet<T> doesnt implement INotifyCollectionChanged, LINQ-to-SQL is unable to notify WPF of any additions/removals. The results are that binding any data returned from LINQ-to-SQL cannot have any children added or removed visually.

        19 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…)
          0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Dynamic execution of code in the space program for scripting

          in. net 4 can compile code at runtime and loading it into the AppDomain. It seems to me that you want to extend this useful functionality and allow execution of arbitrary code from the right during the execution of the program, and in the same namespace, or in the same AppDomain, and have access to all connected to the library project. For example I need to calculate the data according to the formula, but formula can vary depending on the legislation, or other causes. And it would be nice to be able to execute code from a string. Then they…

          18 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 →
          • Next-gen GC performance, NEW AGE of Allocations Speed

            When i tested GC performance (C# "new" allocation speed of arrays and objects) of .NET 4.0 i found at least 1 huge perforamnce issues.

            To significantly improve C# allocation speed and whole .NET programm performance, especially in games, i suggest to make the following:

            1) DO NOT "ZERO" memory synchronously before allocation (like .NET 4.0 does). Next-Gen is to Zero memory ASYNCRONOUSLY (in other thread) and right AFTER old object release, NOT before new allocation. This will BOOST memory allocation speed to the heavens. In short words all memory must be zeroed beforehand.

            2) [less important for now] Make private…

            18 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…)
              1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • support OData Client in Portable Class Library

              WCF Data Services & OData supposed to be a universal way to access data.

              Why should I have to implement this application layer in each client technology I create μυ application, and not in a portable library?

              18 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…)
                2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • Finish a less naive implementation of System.Net.WebClient

                This initially appears to be a high-level object, but blocks access to high-level HttpWebRequest properties like CookieContainer, IfModifiedSince, AllowAutoRedirect, UserAgent, Referer, ContentType and Encoding; and high-level HttpWebResponse properties like LastModified, ContentType and Encoding. Instead, you have to add or retrieve these headers as strings, manually providing or consuming any dates in the obscure HTTP header format, and parsing the Encoding from the Content-Type.

                Without cookies, WebClient isn't well-suited to most tasks requiring multiple requests. Without the other headers mentioned, it is also not well-suited to nontrivial requests.

                WebClient also doesn't provide static methods for simple requests, but instead requires management…

                17 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…)
                  2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Create a .NET managed wrapper for the Text Services Framework

                  Create a .NET managed wrapper for the Text Services Framework

                  17 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…)
                    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Bring ProgressRing and ProgressIndicator to WPF.

                    Since ProgressIndicator is just a style template for ProgressBar, there is no reason it shouldn't be accessible in WPF. However I relies on some new animation classes that are only available for WinRT. I would like the new metro controls available to WPF.

                    So we can build Zune like Metro desktop UIs.

                    17 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…)
                      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Make a constructor in System.String that accepts IEnumerable<char> instead of char[]

                      The only way to initialize a string from an IEnumerable<char>, is by converting it to array. This is very verbose, especially when working with Linq.

                      For example:
                      string GetNumbers(string value)
                      {
                      return new string(value.Where(c => Char.IsDigit(c)).ToArray());
                      }

                      There should be a less-verbose way to do it.
                      Either (rename Join with whatever you think matches best for the context):

                      string GetNumbers(string value)
                      {
                      return value.Where(c => char.IsDigit(c)).Join();
                      }

                      Or at least:
                      string GetNumbers(string value)
                      {
                      //string const accepts IEnumerable<char>
                      return new string(value.Where(c => Char.IsDigit(c)));
                      }

                      17 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…)
                        1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Add a WebSockets library

                        I hereby propose a WebSockets library for the .NET framework, which must be included in all future releases of the .NET from version 4.0 upwards.

                        A library providing native support for WebSockets, both server and client applications, must be considered an essential requirement for the next major version of the .NET framework.

                        WebSockets provide functionality that is absolutely integral to the future of web applications. The latest version of every major web browser supports WebSockets. Every major browser vendor is adopting the WebSockets API along with the HTML5 specification.

                        This type of architecture is already extremely popular and widely used,…

                        17 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…)
                          0 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

                          16 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…)
                            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • Resolve Airspace iusse to full integrate OpenGL inside WPF

                            There are many programmers and company that develop applications based on geometrical kernels that use OpenGL for drawing (like CAD/CAM applications) often they have an old MFC application, and to pass to a modern view for their applications and give a new user experience for the user they could make new WPF interfaces very quickly but they can't rewrite an entire kernel to pass from OpenGL to DirectX, so often they prefer to remain with MFC without pass to WPF. This could be a very special thing to have the possibility to use OpenGL fully supported by WPF, without airspace…

                            16 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…)
                              0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • LOH compaction

                              It is an absolute disgrace that LOH compaction is not included in the CLR (GC). Please make every effort to include this feature in future versions

                              15 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…)
                                1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Additional overload to System.Concurrent.ConcurrentDictionary GetOrAdd

                                As it stands, the ConcurrentDictionary has a GetOrAdd method that accepts a valueFactory delegate that is not included within the scope of the lock, hence it can be executed multiple times and as a result adding the value to the dictionary and executing the valueFactory is not an atomic operation. This behaviour seems to be misleading in relation to what the API leads one would assume that the benifit of having a method accepting a function overload would be. Let's see an example:

                                For example, the intention of the following code is clear:
                                Object value = ValueFactory(); myConcurrentDictionary.GetOrAdd(key, value)

                                From…

                                15 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 →
                                • 15 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…)
                                    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Create a method called System.IO.Path.IsValidPath

                                    The System.IO.Path class has GetInvalidFileNameChars and GetInvalidPathChars which I guess are mostly used for validating paths. However simply using these does not garentee a valid path. As such I propose createing an System.IO.Path.IsValidPath(string) method that would return true if the path is valid and false if not.

                                    15 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…)
                                      1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Auto-expand functions as expression tree in LINQ-expression

                                      Example:
                                      class Employee
                                      {
                                      public string FullName
                                      {
                                      get { return FirstName + " " + LastName; }
                                      }

                                      public string LastName { get; set; }

                                      public string FirstName { get; set; }
                                      }

                                      Query like this
                                      var employees = (from employee in db.Employees
                                      where employee.FullName == "Test User"
                                      select employee).ToList()

                                      Can be compiled as
                                      var employees = (from employee in db.Employees
                                      where (employee.FirstName + " " + employee.LastName) == "Test User"
                                      select employee).ToList();

                                      14 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…)
                                        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Allow ExcludeFromCodeCoverageAttribute to be used on assembly level

                                        It is great that code coverage analysis can be easily run from test explorer window in VS 2012. But I suppose that it is often not appropriate to analyze code in test assembly itself. I think that it well be appropriate to exclude test assemblies from code coverage totally by using ExcludeFromCodeCoverageAttribute on assembly level in those assemblies so they will not produce 'garbage' code coverage results.

                                        Now it is not possible since ExcludeFromCodeCoverageAttribute cannot be used at assembly level. There are several possible targets for this attribute however, allowing for some flexibility. I think, it will be convenient to…

                                        14 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 create a DGML visualizer control that can be incorporated into applications at runtime.

                                          It would be very nice to have a control for displaying DGML graphs at runtime for my application. I think it would make a greate UI element.

                                          14 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…)
                                            6 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base