We are very pleased to announce we have released Visual Studio 2010 Beta 2. You can read the official Beta 2 announcement on Soma’s blog. The Visual C++ team has added a few new features and, of course, many bug fixes. The additional features include some substantial new functionality in the MFC library and the return of the MFC Class Wizard. We are currently filming some Channel 9 videos and writing a few VC Blog posts. Our first two Channel 9 videos on Beta 2 are already online. The video on the C++0x Language feature “nullptr” is here and the video on the MFC features is here. You can download Beta2 from this location. Please be sure to continue to watch this blog for updates. As always we welcome your comments/suggestions/criticisms on our blog.
Damien Watkins and Kelly Evans
Visual C++ Team
I am sorry to hear that you run into these issues with Beta 2. Can you let us know the Connect tickets you opened for the issues you reported?
* Uninstalling Beta 1 indeed will not remove the user props files as they are generated files and they have the potential of interfering with the Beta 2 paths. Resetting the settings or importing from a VS2008 .vssettings should also solve the problem.
* "Exclude from build" should work for Custom Build Rules in Beta 2. Can you try reconverting your projects? They may still point to previously converted rules (from beta 1). If you can still repro this issue, please attach your repro, let me know the ConnectID and we'll take another look at the bug.
* Unfortunately Beta 2 shipped without a path-normalization call during the build that causes unnecessary warnings when using relative paths. This was fixed post Beta 2 but in the meantime we can provide a workaround in the Connect bug.
Thank you for trying out Beta 2 and sending us your feedback!
Beta 2 is by far much more stable than beta 1, apparently is more compliant with forthcoming C++0x and I'm particulary glad to see the bugs our team reported in Connect had been mostly fixed.
Except the bug with move constructor/assignment operator in std::function, which are still not there.
At the same time std::function::swap already had the required logic in Beta 1 - you only have to write a couple of functions to make code that uses a vector of function objects, for example, more efficient.
There are a few build issues but those were mostly fixed with some code changes. The big problems are some custom build steps that have bad dependencies and a few paths that aren't converted properly in the project settings
I'm getting the followings errors on every file I compile with Beta 2. I did not get these with Beta 1. Any suggestions?
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\objidl.h(11280): error C2061: syntax error : identifier '__RPC__out_xcount_part'
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\objidl.h(11281): error C2059: syntax error : ')'
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\objidl.h(11281): fatal error C1903: unable to recover from previous error(s); stopping compilation
We have seen this issue in cases where multiple versions of the header file are on the machine and the wrong version of the file is picked up during the build. For example the DirectX SDK installer includes a version of this header and also modifies the include directories setting in Visual Studio.
Recommended next steps:
Do a search to determine how many copies of objidl.h are on the machine.
Check the VC++ directories in Visual Studio and make sure the entries pointing to (VCInstallDir) are first in the list.
To check the VC++ directories:
Right-click on a project in Solution Explorer.
Select “VC++ Directories” under “Configuration Properties” on the Property Pages dialog.
Thanks for your mail. I have made sure that we have this bug in our radar and that it will be fixed for RTM. Turns out, you have already reported this bug recently with Bug #790549 and we are working on it now. This will absolutely be fixed for VC10. Thank you for being so vigilant about bug reports.
Windows C++ Team
> Except the bug with move constructor/assignment operator in std::function, which are still not there.
This was fixed after Beta 2 branched; the fix will be in VC10 RTM. (regex and match_results were also given move constructors and move assignment operators.)
Did you file a Connect bug about this? I don't see one - we fixed this because I noticed while reading the sources that std::function, regex, and match_results lacked move semantics - i.e. if I hadn't noticed this (and there are lots of things I don't notice), we would be learning about it just now.
Please file Connect bugs when you notice problems! Otherwise, you risk having to wait until the next major version for a fix, and that doesn't make anyone happy.
Stephan T. Lavavej, Visual C++ Libraries Developer
The property page for CMFCToolBar::SetBasicCommands(lstBasicCommands) in CMFCToolBarsCustomizeDialog still doesnt fit for german text. the check boxes are too small. see old connect entry http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=483516
Regarding your comment: "* Intellisense has some issues -- several times F12 (Go to Definition) brought up a window pane with two blank entries."
We have fixed a bug recently that had the same behavior. However, I would like to make sure you're not seeing a different bug. If you haven't already opened a bug through Connect with your source code attached, would you mind sending me something that reproduces what you're seeing? My email is up there in this blog thread.
hallo this good to have this programs
Thanks for the report. We have recently done another pass over our international resources in MFC and fixed all the layout and clipping issues we found in the dialogs. These fixes were not in time for Beta2 but will appear in the released version.
Visual C++ Libraries Development
I have installed VS2010b2 on a system with VS2008SP1, and now when i create a simple VC++ MFC program, there are various compile errors. For example, it says "ImageProcessing.h" not found etc., in fact, i didnt include this header. I'm just trying to create a simple MFC program. Why is it referencing this .h (and many others) ? Also, where is the global VC++ directories option? It is no longer in the tools menu, but i know it is moved to the solution properties, but i cant remove any default includes!
I have an issue with the current nullptr implementation, which is perfectly described by Fuz in a Channel9 video comment:
"Regarding the problems with nullptr and C++/CLI. Does this mean that a third-party template library that uses nullptr (rather than __nullptr) in its headers will be unable to be included in any C++/CLI project?
This is a perfectly feasible situation even in interop code, where you have a C++/CLI type wrapping a C++ type which contains a member from this template library.
This would seem to leave the template library little choice but to define a macro to map to either nullptr or __nullptr depending on whether it's a C++/CLI build or not (which it shouldn't care about, since it's a pure C++0x library), which ends up being worse than the NULL macro!"
I believe there must be a better solution, such as a way to select which meaning the nullptr keyword has (managed or native) when /clr is used. Since I'm using the it just for unit tests, all my nullptr occurrences are native, not managed.
The excluded-but-still-builds bug that I reopened is 456563; same repro as last time. I've hit this both by reconverting a copy of a VS2005 solution from scratch and in a brand new solution created by VS2010b2, so I'm pretty sure stale rules files aren't the problem.
The bug about All Platforms not working on projects converted from VS2005 is 501105.
In the case that I hit, rpcsal.h was actually the offending header that was being overridden by an old DXSDK; exact same errors that cyclone64 hit.
I can't attach the source code and it was a bit random, but I'll see if I can isolate a repro case.
Stephan, I filed a bug in Connect for Beta 1 and it was marked as resolved and closed, didn't do it for Beta 2. And, considering your words, it seems there is no need to do it.
One more thing that disturbs me and even looks like became worse in Beta 2 is the speed of native step-by-step debugging with Disassembly View active. It is so slow on quad core with constant updating of Call Stack, Disassembly View, Watch and other windows. I will create a bug in Connect about this.