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: https://connect.microsoft.com/visualstudio.

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

We would also like to invite you to check out the Announcements section we have added to this site, where we will be posting special opportunities for you to participate in.

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. Support OutputType of .netmodule

    .NET claims support for .netmodule, but it's support is abysmal. VS doesn't let you switch to them, and when you do it manually project references fail to resolve. MSBuild doesn't support project references to them either. Even after all that is worked around, Csc.exe itself fails to find extension methods in .netmodules.

    28 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
    • Create a new project type for the front-end projects (SPAs)

      SPA is becoming a new trend in web development, but Visual Studio doesn't yet support splitting web applications into two separate projects - one for the front-end (Angular, Ember, React etc.), and another one - backend code (ASP.NET Web API, SignalR etc.), yet allowing to build and run them as a single web application. The directory layout you are currently enforce to use is not suitable for SPA applications. That is one of the reasons why many web developers switch from ASP.NET development to GO and other technologies.

      It would be nice if VIsual Studio would support a directory layout…

      28 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
      • x86 and x64 libraries in .Net projects

        Nowadays developers of .net have to release 2 versions of software that imports some calls of dlls
        - x86 (where all projects targets x86 CPU, otherwise it will not work on x64)
        - x64

        Could you make possible to use x64 and x86 libraries with Any CPU and let the platform to choose which to load ?

        26 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
        • Build Output - Intermediate path configuration should be as flexible in C# as in C++

          In C++ projects one can set the intermediate and/or output paths for the build to something like

          $(OBJDIR)\$(ProjectName)\$(Configuration)

          where OBJDIR is an environment variable (points to e:\BuildOutput on my machine).

          In C# projects this is not possible without manually editing the .csproj file (see http://stackoverflow.com/questions/3311212/how-to-configure-intermediate-output-directory-in-c/9724626#9724626)

          This should be made possible (for all project types) from within the IDE configuration dialogs.

          25 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
          • Integrating Office 365 Users to TFS

            Since many of us using Office 365, it is good idea to integrate with O 365 users to TFS.

            When I try to assign the user to the project I found that only live id user can be assigned.

            This cannot happen in the corporate level, since they should use only corporate email ids.

            Please validate this request and make it available to use TFS asap.

            25 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
            • Ability to Add 'Soft Refences' to allow IDE support for IoC Dependencies

              Allowing 'soft references' to be defined against a project could ease the use of injected dependencies. This could facilitate the benefits of IoC whilst supporting much of the convenience of 'hard' references.

              24 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
              • Warning when open the same solution twice.

                I want at least a warning when I try to open the same solution twice. In VB 2008 I several times overwrote some of my own new code because of lack of this. In VB 2010 and 11 this is better - you get warning if the code is changed and may update - but still I want a clear warning when I try to open the solution the second time. In VB6 you are not able to open it twice. (Sometimes you do want to be able to open it a second time to have a look at how…

                21 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                • Support for conditional inclusion/exclusion of project items

                  MSBUILD allows for conditions to be added to references and project items. Things like: Condition=" '$(Configuration)' == 'Release' ". Please expose that funcationality in the VS UI at the very least for Cinfigurations (affecting both items - code files, resources, settings and references), and possibly for conditional compilation constants as well!

                  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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                  • Put a "Reload Solution" button on the message box that appears when projects change on disk.

                    When multiple projects change on disk (because of a source control fetch, usually), you generally want to reload the solution rather than responding to multiple "reload project" dialogs.

                    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…)
                      2 comments  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                    • msbuild support for building targets in parallel within the same project (in the same manner gnu make -j works)

                      msbuild parallelization is very limited today.
                      You can either build different projects in parallel, or use msbuild to run a tool which does things in parallel (such as the CL compiler which is invoked from msbuild with a list of C/C++ files and can build them in parallel when given the /MP option).

                      On the other hand - I don't see why targets within the same project cannot run in parallel as long as their dependencies are honored. This is how gnu-make works with the -j option, and this is not a new thing.

                      Moreover, msbuild supports this really great…

                      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…)
                        1 comment  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                      • Fix Build Configuration Management in VS 11

                        Forgive me if this is already done. I don't have the VS 11 beta, but the tools in Visual Studio for managing Build Configurations is atrocious. At the very least, give me the option to propagate my solution configuration renames to project configurations that match on name.

                        In VS 2010, in a solution with 20 projects, if I find I wish to rename build configurations across the solution (to perhaps correct an error or communicate the configuration's purpose more clearly) I need to rename both the solution and each project individually, using a time consuming process of going through a…

                        13 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                        • Standardize msbuild wildcard imports for Before/AfterTargets\* across project types

                          While looking for a way to register project type specific settings for Code Analysis I found that the bulk wildcard imports for before/aftertarget files differ between project types.

                          Some use <import project="$(somedir)\AfterTargets\*.targets> others use <import project="$(somedir}\Custom.After.ProjectType.targets">

                          It would be nice if all standard .targets files used the same conventions.

                          12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                          • Image properties should include Height and Width

                            When highlighting an image in a project, the properties currently have File Name and Full Path. I think this should include the Height and Width of the image so it makes it easier for web developers to insert an <img> tag with the correct Height/Width properties without having to open the image in another application, or within Visual Studio to find this information out.

                            12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                            • Improve Add Reference Performance

                              Hi,

                              The "Add Reference" window is painfully slow at enumerating all .net assemblies available on a machine, this has always been an issue. In 2008, it took a very long time for it come up, in 2010 load was drastically improved but it doesn't seem to list all assemblies, it takes a long while to enumerate all assemblies and for it to become really usable and allow sorting, etc. Perhaps having that data cached in a small db (like SQLite) or something of that sort would allow it to load and be usable much faster, while a background thread my…

                              12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                              • 12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                • socket support for PCL(.Net 4.X, Windows 8.X, Windows Phone 8.X)

                                  Currently it is not supported to write code that uses sockets and share it between .Net and Windows Apps. The best solution I found so far was to define a Interface for the Socket in a Portable Class Library and create additional Projects for every platform that implements this interface. This makes it uncomfortable to write or use libraries that needs sockets and target multiple Platforms.

                                  12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Provide unified parallel build

                                    Taking advantage of multi-core machines is sub-optimal. One has to enable parallel source compilation within a project with /MP and, separately, enable parallel project build within a solution with /m.

                                    End-users have to somehow find the optimal values for these two switches by trial and error. Worse, it appears that a single compilation process will be pre-assigned a set of files before compilation starts. Thus one can end up with one process compiling all the small files of a project, and another, all the large files. The effects of which are obvious when you witness multiple files being compiled in…

                                    12 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Change MSBuild ItemGroup to have a BaseDir like Nant's FileSet.

                                      In Nant, it is possible to add a base path to an item group like:

                                      <fileset basedir="${source.dir}\Database\Bin\">
                                      <include name="1.sql" />
                                      <include name="2.sql" />
                                      <include name="3.sql" />
                                      </fileset>

                                      In MSBuild, I have to say something like:

                                      <ItemGroup>
                                      <File Include="$(BaseDir)\1.sql" />
                                      <File Include="$(BaseDir)\2.sql" />
                                      <File Include="$(BaseDir)\3.sql" />
                                      </ItemGroup>

                                      Can we have something similar like this in msbuild:

                                      <ItemGroup BaseDir="$(SourceDir)\Database\Bin\">
                                      <File Include="1.sql" />
                                      <File Include="2.sql" />
                                      <File Include="3.sql" />
                                      </ItemGroup>

                                      11 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                      • 10 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                        • MSBuild should cleanup after itself in temp directory

                                          Today our automated builds (running under CCNet) failed, reporting that the disk was was out of space.

                                          It turned out that the system drive had run out of space and the c:\users\<user>\AppData\Local\Temp contained 35gb of temp files, over 16,000 when I killed the disk analyis.

                                          I've written a batch file that now cleans out the temp directory once a month but this is something we shouldn't have to do.

                                          10 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base