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. Advanced obsolescence management

    It would be nice to add a notion of sunrise (year, quarter ?) in ObsoleteAttribute and add a project build option:

    [X] No obsolete warning for sunrise in more than [.......] years/quarters.

    ObsoleteAttributes defined without a sunrize will continue to fire a warning (but we can imagine an exclusion list).

    We can also imagine to add the notion of excluded modules/assemblies/classes in ObsoleteAttribute: Declaring a class or member obsolete will fire warnings when compiling the assembly that implements them. Firing warning on a code that offers backward compatibility is near a non-sens (in that case we should applause more than…

    2 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 →
    • Add $join support in WCF Data Service

      Please add support for OData $join to WCF Data Service.

      1 vote
      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 it easier for web applications to trigger ClickOnce applications on local machines

        I suggest that you make it easier for web applications to trigger ClickOnce applications on local machines. I am well aware of the potential security risks inherent in this suggestion but we need to do this and it has been a hassle finding basic information on how to trigger ClickOnce apps and pass parameters. This aspect of ClickOnce needs to be better documented and supported.

        (Also given a web app running on one server and ClickOnce published to another, there is apparently no way at all to trigger the ClickOnce app from a web app if the ClickOnce server is…

        1 vote
        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 →
        • Add AlternateContentPropertyAttribute to standard library

          Since VS2012, in order to recognize alternate content of controls one has to decorate property with AlternateContentProperty [1]. This is quite common use case and Silverlight contains this attribute in its standard library.

          Unfortunately the same is not true for WPF, where this attribute is present only in one of Visual Studio / Blend assemblies and therefore cannot be used directly. Instead, one has to go through much more laborious process of creating designer metadata assembly just to implement very basic functionality.

          Please follow Silverlight and add this attribute to BCL.

          [1] http://connect.microsoft.com/VisualStudio/feedback/details/764315/wpf-designer-does-not-recognize-children-of-custom-controls

          1 vote
          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 →
          • Provide Claims Driven Modifier Control as part of the WIF SDK

            Provide a Claims Driven Modified control/Security Token Visualizer control (http://archive.msdn.microsoft.com/ClaimsDrivenControl) as part of the Windows Identity Foundation SDK. This control could then be easily leveraged in standalone ASP.Net Web Applications which need to work with federated identity via Claims.

            1 vote
            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 →
            • Access controls by "Sparse" Index - Even a Custom control with Index can not be accessed as: MyControl(x).Text or MyControl(x).Value

              Access controls by "Sparse" Index - Even a Custom control with Index can not be accessed as: MyControl(x).Text or MyControl(x).Value

              This was one of 2 major issues preventing me from porting VB 6 apps to .NET. The only implementation possible would require superfluous loops through the controls multiple times to mimic the behavior but at cost of performance. It wouldn't matter if the controls load in order, it only matters that I can access them in a specific order and that the index value can correspond to an object array indexed as well.

              I had built a Wizard that built…

              1 vote
              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 →
              • Silverlight 5 Support Droid OS

                I LOVE the latest Silverlight 5 release, however it's a draw back when it comes down to supporting Droid phones. PLEASE release an update to support this O.S.

                1 vote
                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 →
                • 1 vote
                  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 →
                  • Overridable CreateElement method(like System.Xml.XmlDocument) on System.Linq.Xml.XDocument

                    When we try to create a domain-specific XML document object model using Linq to XML technology, it will be useful for developpers if following overridable method were prepared on XDocument.

                    public override XElement CreateElement(string prefix, string localName, string namespaceURI)

                    1 vote
                    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 →
                    • How-To Example for Producer/Consumer allows a significant heisenbug

                      In the library topic "How to: Synchronize a Producer and a Consumer Thread (C# and Visual Basic)" (http://msdn.microsoft.com/en-us/library/yy12yx1f.aspx), the SyncEvents class keeps an array of its new item and exit thread events and provides this array to consumers to facilitate using those events in a WaitHandle.WaitAny(WaitHandle[]) call.

                      As implemented, some ConsumerA could assign a value to the array that is not one of the events being used in the current SyncEvents instance. If some ConsumerB then tries to wait on the array, its behavior will be undefined at best (if an unrelated WaitHandle has been assigned) or it…

                      1 vote
                      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 →
                      • Add methods alert

                        similar at the method documentation, (using ///), add something else like an alert the user make and other using the class will see like the following.

                        <alert>This Method will purge all attributes!</alert>
                        public void DeleteDataObject (int objectId) { }

                        when ever the method is used the user sees a small icon alarming him of the tricky behaviour of the method, constructor, or getter and setter

                        1 vote
                        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 →
                        • Why is SQL integral NUMERIC column mapped as System.Decimal in a C# DataSet or DataAdater.?

                          Why is SQL integral numeric column (for example NUMERIC(3,0)) generated in C# (in DataSet as column type or in DataAdapter as parameter type) as type Decimal?

                          NUMERIC(3,0) can store integral values in range of -999 to 999. I think it should be in C# generated as type int or another integral one.

                          I think, this behavior is .NET or Visual Studio serious bug. How should I solve it, if I don't want rewrite generated code and I don't want to convert everywhere I use it between int and decimal? Thank you.

                          1 vote
                          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 →
                          • 1 vote
                            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 →
                            • Open some events in the webControl.

                              There are only a limited number of events open. Paint is not one of them. I am developing/extending an analytics platform. My idea was to add a map under my charts and use different WMS services. The problem is that to draw on top of it would mean drawing on top of the web control... which is not possible. The analytics platform is extensible enough and allows to add 3rd party controls like webControl. So, the hicup is in your control. I cannot add another WMS layer because it would be static and I would loose the functionality of the…

                              1 vote
                              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 →
                              • Add IsNotNullAndEquals function

                                I would like to let you know that most of the time we have to check NULL before comparing a data type to a value (to avoid exception), and we are fine if it is NULL or Empty most of the time, but don't want the comparison to throw exception.

                                I would like to see a method IsNotNullAndEquals to data types as it will alone serve the purpose of comparing and giving results all the time (without throwing exception).

                                Thanks,
                                Imran Rizvi

                                1 vote
                                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 →
                                • Add HtmlScript type and respect it in razor views.

                                  Similar to the new HtmlString type, add an HtmlScript type so I can use it as a parameter to a method in my razor views.

                                  Example:

                                  Foo.Onload(
                                  function(a, b, c) {
                                  // give me js intellisense here.
                                  }
                                  );

                                  1 vote
                                  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 →
                                  • Please make WPF Image Rendering work under IIS8

                                    I've implemented a tool to convert xaml graphics to imgages for ASP.NET, either during build as a MSBuild task, or on the fly in an ASP.NET HttpHandler. In the HttpHandler, 3D rendering just produces blank output, whereas in the MSBuild task it works as expected. Would it be possible to make this WPF part work also under IIS8 (btw. it's also working in IIS6)
                                    The tool is available in the VS Gallery and is called XamlImageConverter.

                                    1 vote
                                    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 →
                                    • to provide a razor editor that can be used on OSX machines

                                      Dear Microsoft:

                                      Thank you very much for all the effort you have been puttin into providing the development community with great tools. I have been using Visual Studio and team foundation service and I love it. It has changed the way I do things. There is still something missing. I work with a group of Open Source entusiasts. Most of them have mac computers. As a matter of fact, I still have not worked with any interface designer that does not own a Mac. I keep trying to make them move to .Net. Azure and TF service are great incentives…

                                      1 vote
                                      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 →
                                      • Assert Attribute

                                        It's a best practice to explicitly handle assumptions as shown below:

                                        public void DoSomething(MyObj withMyObj)
                                        {
                                        if(withMyObj == null)
                                        return;

                                        ... do something
                                        }

                                        OR

                                        public void DoSomething(MyObj withMyObj)
                                        {
                                        Debug.Assert(withMyObj != null)

                                        ... do something
                                        }

                                        A few simple attributes could make the code more terse and help keep the method focused. Hey, we could even generate several unit tests based on this feature. This is the markup I have in mind:

                                        [ArgAssumption("withMyObj", ArgumentValue.IsNull, WhenTrue.Return)]
                                        public void DoSomething(MyObj withMyObj)
                                        {

                                        ... do something
                                        }

                                        [ArgAssumption("message", ArgumentValue.IsNull, WhenTrue.Return)]
                                        [ArgAssumption("message", ArgumentValue.IsEqualTo, "", WhenTrue.Return)]
                                        public void ThrowException(string message)
                                        {
                                        throw new Exception(message); …

                                        1 vote
                                        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 →
                                        • string should implement IReadOnlyList<char>

                                          There is no reason not to. It already implements IEnumerable<char>.

                                          1 vote
                                          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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base