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
Great, I noticed beta 2 bring "emplace" functions to the STL ! That's really cool.
Problem is, they look nearly broken :(
For example, The C++ draft say, for std::vector<T> :
template <class... Args>
void emplace_back(Args&&... args);
And we can found in Beta 2 something like :
template <typename T>
void emplace_back(T&& t) // What the point ?There is already push_back for that ?
template <typename Arg>
void emplace_back(Arg&& arg) // what if T constructor take more than one argument ?
Same problem for std::map::emplace functions wich look really different from the draft's one.
What happened ? Are beta 2 emplace functions just some kind of placeholder right now ? Thanks.
Will there be another beta after this one? There are a lot of bugs in Beta 2 and it would help if there was another drop before the release.
has one way to remove uneditable "default/inherited" paths. If you mean something else, nevermind.
Will this ever be fixed? This goes back to v1.
The reason you are not able to edit these directly in that dialog is because these values are inherited from a property sheet. If you open the
"Property Mananger" window you will see under each of the project configuration there is a Microsoft.Cpp.Win32.user.props or Microsoft.Cpp.X64.props and you should be able to change those values in the property page editor.
Hope that solves your issue.
Windows C++ Team
>There are a lot of bugs in Beta 2 and it would help if there was another drop before the release.
Are there Connnect bugs on all of them to ensure people are aware? As with all software development there is a release date and some bugs will be deemed not critical to fix before release :(, but ALL bugs we aren't aware of are pretty much guaranteed to be not fixed before release :)
> 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.
__nullptr is always available (in both native and /clr) and it's always the "native nullptr".
We implemented the "native nullptr" at the last moment in VC10's development, which is why we didn't have time to do anything better about the clash between native and managed. We can't promise anything, but I believe we'll be looking into whether we can resolve this clash in a better way in future releases.
> Stephan, I filed a bug in Connect for Beta 1 and it was marked as resolved and closed
Can you provide a link? I'd like to see what happened here.
> Great, I noticed beta 2 bring "emplace" functions to the STL ! That's really cool.
They were actually added in Beta 1.
> Are beta 2 emplace functions just some kind of placeholder right now ?
As you may know, variadic templates aren't implemented in VC10. We simulate them with preprocessor machinery for things like make_shared<T>(), tuple, and the new things in <functional>. This preprocessor machinery is relatively difficult to use and maintain. Also, it significantly affects compilation speed, as we have to repeatedly include subheaders. Due to a combination of our time constraints and compilation speed concerns, we haven't simulated variadic templates in our emplace functions.
When variadic templates are implemented in the compiler, you can expect that we'll take advantage of them in the libraries, including in our emplace functions. We take conformance very seriously, but unfortunately we can't do everything all at once.
> Will there be another beta after this one?
We generally can't comment on the existence or timing of future releases.
I took a look at the bug and the project attached has an import to $(VCInstallDir)VCProjectDefaults\masm.targets rather than $(VCTargetsPath)BuildCustomizations\masm.targets which should be the right path in Beta 2. The .targets/.props/.xml in VCProjectDefaults might be left-overs from Beta 1 where we were incorrectly converting the .rules files in that folder. Can you check that that's the case?
This issue doesn't repro with our recent builds and should be fixed in RC/RTM. There is a forum thread on this issue where user u0m3 found a possible workaround: http://social.msdn.microsoft.com/Forums/en-US/vcprerelease/thread/d656f92b-bde2-43e0-bce3-5ad6b5b8c9db
We have a known issues when finding \" in a stringlist, but if you're running into other conversion issues with paths, we'd like to know about them. Same for the custom build step issues. Can you open a connect issue or send me a quick email describing the issues you ran into at mluparu at microsoft dot com?
..."Property Mananger" window you will see under each of the project configuration there is a ...
From what I see, that's a local "fix". If you have 100 projects, it looks like you have to do 100 fixes, and then again for new projects. I know this is the way vs is going, and has been for years, but I like all my settings together, so I can make one change and it just works. The original suggestion was 100x better. Unless you have more to add.
A property sheet can be imported in multiple projects thus achieving the exact behavior you're looking for. Using Property Manager you can manage these property sheets.
One of the property sheets you will see automaticall imported in each of your projects is the VCDirectories equivalent called Microsoft.Cpp.$(Platform).props. Making changes (only once) to this file will apply to *all* projects & configurations targeting that platform on that machine/for your user account.
You can find more details about these scenarios in this blog post: http://blogs.msdn.com/vsproject/archive/2009/07/07/vc-directories.aspx
Wonderful that this
shows how to do it. The msgbox after APPLY-ing a change is a little odd ("There are no property pages for the selection"), but not unusual when doing settings in any vs version. OK instead of Apply avoids that msgbox.
As to the color-clash comment above -- I see how that's ignored again. It's funny how that's always the case.
Thanks "required", "Amit Mohindra"! The changes in VC++ Directories really confused me. I was previously unable to remove the inherited directories! In fact, the topic for "VC++ Directories" is not in the beta 2 help!
Will the /analyze switch be supported on VS2010 professional?
http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx > Compare 2010 Products > Debugging & Diagnostics > Static Code Analysis indicates that /analyze will not be in Professional, but will be in Premium and Ultimate.
happy to see the beta2, but i have to nag again. Why is _SECURE_SCL still enabled in Release builds?