I've found C++/CLI to be a very po开发者_运维百科werful language for wrapping C/C++ libraries with .NET.
I believe it's much better than using PInvoke for C for various reasons.
However, when I've upgraded my project to Visual Studio 2010, I've found that it has less support for C++/CLI.
Examples:
- Targeting the 3.5 framework with the Visual C++ 2010 compiler is not supported. - Won't be fixed.
- No coverage highlighting. - Should be fixed in next version.
- No Intellisense - 501921, 459187, 455686. By Design!
- Useless CA1811 warning. - Won't be fixed.
- Uselss CA1806 warning. - Postponed.
Microsoft claims:
I want to make it clear that while we can't address this issue, we reduced support for C++/CLI only due to time and resource constraints. This is NOT an indication that we are distancing ourselves from the technology.
But, C++/CLI never had really good support, and if the current version of VS has less support, what does the future holds?
I doubt anybody has a truly definitive answer, even (for example) Herb Sutter, who works as an architecture on Visual Studio. The problem is simple: Microsoft's direction is determined (largely) by market pressures and customers. If a lot of people complain long and loudly about the problems, Microsoft will probably see fixing them as important -- and see C++/CLI as more important in general. If few people complain, chances are pretty good that they'll assume few people are using C++/CLI, and it'll remain marginalized.
To an extent, I think it's a self-fulfilling prophecy: they never really supported it quite well enough to make it a viable alternative, so it's never gotten a lot of use. That, quickly results in vicious circle of fewer users leading to less development leading to still fewer users...
精彩评论