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
-
Silverlight 6
Please do work on Silverlight next version. I feel Silverlight is great tool which has best in cross development web experience. Although you guys are spending time on HTML5 and other stuffs, but I feel it takes years to bring HTML 5 is not flexible enough like Silverlight.
One more thing, as a Silverlight developer it was only my chance to replace flash from my projects, but as you guys stopped working on it; I feel that I wasted my time in learning Silverlight.
Do start working on Silverlight, Only this will get you back in increasing footprints in website…
1,910 votes -
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…
868 votes -
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 Exceptionthis 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>)
265 votes -
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
ret251 votes -
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..246 votesThank you all for voting on this suggestion. We’ll consider this suggestion for a future release. Meanwhile, you may find this MSR project helpful: http://research.microsoft.com/en-us/projects/accelerator/
Thanks,
Deon – MSFT -
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,…
189 votes -
Native .Net Compiler
possibility to compile C# (for example) code to native .exe included framework library inside assembly (here more correctly - .exe)
177 votes -
Add spellcheck Russian language (isSpellCheck = true)
Please, Add support Russian spellcheck in wpf and silverlight controls!
110 votes -
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…
99 votes -
Enterprise Library as default framework
I think include enterprise library as default framework will become handy as this will help for consistency. As my concern, I think most of development works now need dependency injection (unity), Logging tool and config tool. So why not put enterprise library as the first option
91 votesThank you all for voting on this suggestion. The team has heard you and is considering this request, possibly for a future release.
Deonhe – MSFT .NET Framework team
-
Circular shift / Rotate JIT support
Many cryptographic hash and encryption functions take advantage of circular shift:
(val << shift) | (val >> (32 - shift))
Modern C and C++ compilers recognize this expression, and compile it accordingly to X86's ROTR/ROTL instruction. I believe the .NET runtime should be able to recognize the IL sequence that the above expression would generate:
ldloc val
ldloc shift
shl
ldloc val
ldc.i4 32
ldloc shift
sub
shr.un
orAnd optimize that sequence into a single X86 ROTR/ROTL sequence.
I'm pretty sure it doesn't do that now, according to my experiments.
The best thing to do is to introduce some…
85 votes -
Add more garbage collector options including a low latency option and an option tuned for immutable data structures
GC latency in .NET 4 is orders of magnitude worse than competitors like Staccato (2008). Performance when using immutable data structures is several times worse than alternatives like OCaml (1995).
84 votes -
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_PropertyChangedI would surely prefer a symbol operator rather than a verbose one, but I would prefer seeing it in the language
74 votes -
Make IList<T> inherited from IReadOnlyList<T>
It satisfies Liskov substitution principle.
Example:void SomeMethod(IReadOnlyList<T> list)
{/*...*/}void MyMethod(IList<T> list)
{
//do something with list, add/remove elements etc.
SomeMethod(list);//PROBLEM
}Currently IList<T> cannot be passed to SomeMethod. But IReadOnlyList<T> consists of a subset of methods from IList<T> with the same signature and semantics. I feel it would be much better to make this explicit by inheriting IList<T> from IReadOnlyList<T>.
64 votes -
Better ToString() Default Methods
This falls into 2 categories.
1) fix the existing objects, for example
Console.WriteLine(new int[]{1,2,3});
currently will produce: System.Int32[]
it would be better if it was
[1,2,3]2) for new objects
Right now anonymous objects have a great ToString()
Console.WriteLine(new {name="Fred", age=4});
will produce
{ name = Fred, age = 4 }
I would argue this should be the same by default for a Person Class
Console.WriteLine(new Person{name="Fred", age=4});
however, currently this will produce:
Namespace.Person57 votes -
Make loading satellite assemblies signed with no key or a different key optional
At present the CLR only loads satellite assemblies if they are signed with the same key as the fallback assembly to which they refer. This means that the only people that can add new cultures to an existing assembly are the original authors. This includes the .NET Framework itself, ASP.NET MVC, Silverlight and every signed assembly released by Microsoft (or indeed anyone else).
The .NET Framework 4 is currently available in 23 languages (plus English). ASP.NET MVC 3 is currently available in 9 languages. If the language you want isn't on this list then there is nothing you can do…
57 votes -
Integrate ilMerge into .NET exe projects
Microsoft has a tool called ilMerge (http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx). This can merge several assemblies into only one exe file.
A referenced assembly in a DevStudio project should have the additional property "Linking" with the possible values "Dynamic", which has the same behaviour as currently, and "Static" which uses the ilMerge technology to integrate the referenced assembly into the resulting exe file.
With this possibility it is really easy to develop simple (trivial) tools which depent on standard libraries that can easily be deployd.55 votes -
Enable constructor contracts
That would be great to be able to define methods in interfaces as contructors - I mean a way of forcing the implementers to have a constructor matching the one defined in the interface.
Also that would be great to have static interfaces (contracts, which static classes can implement).52 votes -
silverlight compile to html5 or Have XAML run in browser without plugin
have Silverlight compile to html5 or Have XAML run in browser without plugin.
50 votes -
wpf performance
wpf performance:
can u please look at the issues in this blog:
http://jeremiahmorrill.com/2011/02/14/a-critical-deep-dive-into-the-wpf-rendering-system/45 votes
- Don't see your idea?