The Acropolis team just announced today that Acropolis will not advance from CTP to a supported release. They also announced that they want to help customers who'd like to take Acropolis into production be successful until an alternative is available.
The good news is that all the great work the Acropolis team did will be rolled out in the future versions of .NET and also used for guidance and best practices for building WPF Composite Clients.
Tuesday, October 30, 2007
Acropolis - The end
Saturday, October 27, 2007
Data Dude: Synchronize vs Refresh
What the difference is between the "Refresh" button in "Solution Explorer" and the "Synchronize" button in "Schema View?
I was confused too, until I read Gert's post about it.
Synchronize - refers to synchronization of state between the Solution Explorer and Schema View.
Refresh - cause a complete reload of all schema objects (reading all files from links from the project file); parse the fragments and execute them against the design validation database.
Code Analysis in VS 2008
VS 2005 introduced internal static analysis tools. This helps you to write secure and quality code.
Visual Studio 2008 has new Code Analysis features:
- Code Metrics - This gives you the ability to dig deep to find those un-maintainable and complex hotspots. Code Metrics will ship with five metrics - Cyclomatic Complexity, Depth of Inheritance, Class Coupling, Lines of Code and Maintainability Index.
- Analysis improvements:
- Support for analyzing anonymous methods and lambda expressions
- Reduced noise in existing analysis and the ability to skip over tool generated code
- New analysis, including additional rules around security, globalization, maintainability and spelling.
To generate code metrics, simply do the following:In Solution Explorer, right-click on your solution/project and choose Generate Code Metrics
After generation you'll get the Code Metrics Results window and a tooltip on every column that explain the result. The Maintainability Index column includes a maintainability indicator light that changes based on the maintainability of the code. Green indicates good maintainability, yellow indicates moderate maintainability, and red indicates poor maintainability.
Friday, October 26, 2007
My session at Dev Academy 2007
Do you want to know how VSTS for database professionals helps you to take control on your database change? or how you can ensure you software quality? How can you write and execute unit tests for your database objects?
You can get the answers and even more details and great features in the next Developers Conference here in Israel - Developer Academy 2.
I will be giving a there a session about VSTS for database professionals. If you work with databases then you will want to see the new capabilities offered by the latest addition to Visual Studio Team System from Microsoft. In this session, you will learn how this product will change the way you work with databases forever; you will get a look at how Visual Studio Team Edition for Database Professionals is used to help with Database development, Database Unit Testing, Database Refactoring, Code-Analysis for Database and Database deployment.
If you want to see more, or you have a question - post a comment.
See you there!
VS 2008 VPCs will expire on Nov 1st 2007
If you are using the VPC provided by Microsoft to evaluation Visual Studio and Team Foundation Server 2008 Beta2 be aware it will expire Nov 1st.
See Jeff Beehler's post for more details.
Wednesday, October 24, 2007
Build a labeled version with TeamBuild
This is the 3rd post in the series of posts about MSBuild. You can read them at:
As you know, TeamBuild builds the latest version by default. At the Target "CoreGet" in the MSBuild script (you can find it at Microsoft.TeamFoundation.Build.targets file), it gets the latest version from source control to the local workspace on the build machine and build the source.
To build a labeled source you have to set a value to the Version property of the Get task in this target.
So, all you need to do is to override the CoreGet target in the TfsBuild.proj file (it's better than override it in the target file because if you do so, this change will affect all builds on the machine...):
1: <Target Name="CoreGet"
2: Condition=" '$(IsDesktopBuild)'!='true' "
3: DependsOnTargets="$(CoreGetDependsOn)" >
4: 5: <!-- Get all the latest sources from the given workspace-->
6: <Get Condition=" '$(SkipGet)'!='true' "
7: Workspace="$(WorkspaceName)"
8: Recursive="$(RecursiveGet)"
9: Force="$(ForceGet)"
10: Version="$(VersionToBuild)" />
11: </Target>
The property in line 10 is the property that do the work...
You can declare the $VersionToBuild variable at the PropertyGroup element or by passing this value from the .rsp file. The easiest way is to declare it at the PropertyGroup element.
1: <PropertyGroup>
2: <VersionToBuild>M_1.0.0.223</VersionToBuild>
3: </PropertyGroup>
That's all!
Enjoy.
Open source at Microsoft
There is new open source site from Microsoft.
Microsoft opened a number of sites to host open source projects like GotDotNet, CodePlex, and now this one. This site doesn't replace CodePlex. This site is intended to provide information about Microsoft and open source in one place, serving as a gateway for information about open source engagements and activities across Microsoft.







