DCSIMG
April 2009 - Posts - Shai Raiten

Shai Raiten

 Subscribe

April 2009 - Posts

Error When Trying To Access Source Control With Team Explorer (vscommod.cpp Line number:173)

Error When Trying To Access Source Control With Team Explorer (vscommod.cpp Line number:173)

Today I have installed windows 7 and visual studio 2008 + team explorer.

I open visual studio and go to team explorer to open source control and I saw that there is no Source Control there

vscommod.cpp-team explorer error

I even try to open source control from the file menu but I got the following error:

vscommod.cpp-error line 173 

Try the following steps to resolve the issue:
1. Open a command prompt.
2. Navigate to the following folder:
  "%programfiles%\Microsoft Visual Studio 9\Common7\IDE\"
This paths assumes you have Visual Studio 2008 installed at the default location, so navigate accordingly.
3. Type the following:
devenv.exe /resetuserdata

 

Hope this helps.

How To: Users cannot access to Team System SharePoint

How To: Users cannot access to Team System SharePoint

Team System works with different levels of security for each module, for example SharePoint, Source Control, Reports etc…

One of the most common issue is SharePoint security, I’m getting emails regarding this problem every week,
Here is the solution:

To perform this operation you need administrator user.

Open SharePoint portal by right click on your Team Project and “Show Project Portal” .

You should see your project SharePoint portal .

image

Click on “Site Actions” and pick “Site Settings”

image

You are now in the Settings page, under Users and Permissions pick “People and groups”

image

 

Pick “New” and click “Add Users”.

image

 

First write down the name\s of the users or groups and click check to make sure the user or group are valid,

than select the right permissions for the user/group and click “OK”.

image

Enjoy.

Data Dude R2 Is Out

Data Dude R2 Is Out

Martin Hinshelwood's just post about Visual Studio Team System 2008 Database Edition GDR R2.

There is new Deployment abilities Refactoring , Data types and of course better support for SQL 2008, for the full overview Click Here 

SmallDataDudeBW  Enjoy.

Visual Studio 2010 MTCF Glossary activity for Hebrew

Visual Studio 2010 MTCF Glossary activity for Hebrew

We are looking for volunteers to help us with the Microsoft Community Glossary project for Hebrew Visual Studio 2010.
The glossary site is live on the Microsoft Terminology Community Forum at: http://www.microsoft.com/language/MTCF/mtcf_glossary.aspx?s=4&langid=1498&cult=en-us.

The goal of this project is to translate the core terminology for Visual Studio 2010 that will be used for the creation of the Captions Language Interface Pack for the next version of Visual Studio, 2010.

The invitation code to access the site is the following: pVM5DA

The site will be open until 30th May 2009.

INSTRUCTIONS:

Accessing the site:

The site is by invitation only. The first step is to sign in using your Windows Live ID. Once that is complete, you will get a page where you are asked to Register. Please go through the registration process and use the Invitation Code provided to register: enter this under ‘’Special Access Code”.  Please note that the registration instructions say not to use your real name. However, we want to be able to track your contribution and since this is a site with restricted participation where only other MVPs or MSPs are invited, we encourage you to use your real name and put your title after your name also, e.g. John Smith MSP.

Once you have completed the registration, you will access the glossary page. Please note that loading up the site the first time might be slow since it loads the page that contains all terms, and there are over 700 terms. We strongly suggest that you do not work on the page containing all terms but that you work on the individual letter pages. Since each letter page contains fewer terms, the performance should be good.

The next time you access the site, you will be recognized automatically. You will just need to sign in using Windows Live ID and you will get automatically to the Home Page. From there you can click on the Glossary link on the top bar to access the glossary pages.

Submitting translation suggestions and voting

The site shows English terms and their definition. For this glossary, Microsoft has intentionally not provided any translations since we do not want to influence the participants. We leave it up to you to suggest the translation that you think is most appropriate and that is currently used in your language. To do so, you can simply click on the link ‘’Suggest Translation or Vote’’ near the term in question. You can enter your translation in the ‘’Translation’’ text box and also a comment if you wish. Make you click on the ‘Submit Suggestion’’ button.

If you see a translation submitted by another user, we encourage you to vote for it if you think that this is correct. This will allow us to determine how many people agree with the translations suggested. The more votes we have, the easier it is for our moderators to determine that that translation is correct and should be used. Again you can click on the link ‘’Suggest Translation or Vote’’; go under Votes translation and click on the vote button. If you do NOT agree with the translation, you can add a comment by clicking on the ‘’Pencil’’ button and say why you think that is not correct. If you want to submit a different translation because you do not agree, please do not write it in the comment but submit a translation suggestion in the upper part of the page. The screen-shot below shows the UI of the page in question.

image001

Note: should you experience any problems, try deleting your cookies since those can sometimes interfere with the site.

a version for Visual Studio 2008 available at: http://www.microsoft.com/downloads/details.aspx?FamilyId=4E5258D2-52F4-46B8-8B74-DA2DBEC7C2F7&displaylang=he).

TFS API Part 19: Merge

TFS API Part 19: Merge

In my last post about TFS API TFS API Part 18: More Basic Stuff On Workspaces I demonstrate how to get / create and delete workspaces.
In this post I’ll show how to perform Merge using TFS API.

First add reference for
     Microsoft.TeamFoundation
     Microsoft.TeamFoundation.Client
     Microsoft.TeamFoundation.Common.dll
     Microsoft.TeamFoundation.VersionControl.Client.dll

located in - C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies

Download Demo Project

BeforeMerge

Step 1 – Connect TFS + Create VersionControlServer Object + Get all project list

private void btn_dp_Click(object sender, RoutedEventArgs e)

{

    DomainProjectPicker dp = new DomainProjectPicker(DomainProjectPickerMode.None);

    dp.ShowDialog();

 

    if (dp.SelectedServer != null)

    {

        tfs = new TeamFoundationServer(dp.SelectedServer.Name,new UICredentialsProvider());

        tfs.EnsureAuthenticated();

 

        //Using ICommonStructureService to get all project in TFS.

        ICommonStructureService structureService = (ICommonStructureService)tfs.GetService(typeof(ICommonStructureService));

        ProjectInfo[] projects = structureService.ListAllProjects();

        combo_projects.ItemsSource = projects;

 

        sourceControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));

        AddWorkSapces();

    }

}

 

Step 2 – Add workspaces

In order to perform merge you need workspace to work on.

private void AddWorkSapces()

{

    Workspace[] wss = GetWorkspaces();

    cob_workspace_list.Items.Clear();

    foreach (Workspace ws in wss)

    {

        WorkSpaceItem item = new WorkSpaceItem(ws.Name, ws);

        cob_workspace_list.Items.Add(item);

    }

}

 

public Workspace[] GetWorkspaces()

{

    try

    {

        return sourceControl.QueryWorkspaces(null, sourceControl.AuthenticatedUser, System.Net.Dns.GetHostName().ToString());

        //You also can get remote workspaces

        //QueryWorkspaces(worspaceName,worksapceOwner,computer)

    }

    catch

    {

        throw;

    }

}

Step 3 – Map source control folders and files

A simple view to help us select Source folder and Target folder.

private void GetPathFiles(TreeViewItem TreeItem, String path)

{

    try

    {

        RecursionType recursion = RecursionType.OneLevel;

        //Also have - Full, None

        Item[] items = null;

 

        // Get the latest version of the information for the items.

        ItemSet itemSet = sourceControl.GetItems(path, recursion);

        items = itemSet.Items;

 

        foreach (Item keyItem in items)

        {

            char[] charSeparators = new char[] { '/' };

            //Using split to isolated the Project Name and the File Name

            string[] ss = keyItem.ServerItem.Split(charSeparators, StringSplitOptions.None);

 

            //!= items[0] ignore the first item, the Team Project Name

            if (keyItem != items[0])

            {

                TreeViewItem new_item = null;

                Execute exe = delegate()

                {

                    new_item = new TreeViewItem();

 

                    //Get File or Folder Name

                    string filename = keyItem.ServerItem.Replace(path + "/", string.Empty);

                    new_item.Header = filename;

                    //Saving the full path of the file/folder

                    new_item.Tag = keyItem.ServerItem;

                    TreeItem.Items.Add(new_item);

                };

                this.Dispatcher.Invoke(exe, null);

                GetPathFiles(new_item, keyItem.ServerItem);

            }

        }

    }

    catch (Exception ex)

    {

    }

}

 

Step 4 – Perform Merge

Read more about Workspace.Merge

private void Merge(Workspace workspace,string source,string target)

{

    GetStatus status = workspace.Merge(source,

                target,

                null,

                null,

                LockLevel.None,

                RecursionType.Full,

                MergeOptions.None);

 

    //public GetStatus Merge (string sourcePath,

    //        string targetPath,

    //        VersionSpec versionFrom,

    //        VersionSpec versionTo,

    //        LockLevel lockLevel,

    //        RecursionType recursion,

    //        MergeOptions mergeOptions)

 

    lbl_NumConflicts.Content = status.NumConflicts.ToString();

    lbl_NumFailures.Content = status.NumFailures.ToString();

    lbl_NumOperations.Content = status.NumOperations.ToString();

    lbl_NumWarnings.Content = status.NumWarnings.ToString();

 

}

 

Parameters:

sourcePath - The source of the merge (local or server path).targetPath - The target of the merge (local or server path -- must be mapped).versionFrom - The starting version that may be a null reference (Nothing in Visual Basic).versionTo - The ending version that may be a null reference (Nothing in Visual Basic).lockLevel - The lock level to apply to each item specified by the target.recursion - The level of recursion desired.mergeOptions - Specifies the merge options.

    AlwaysAcceptMine - discard any changes in source, and just update merge history

    Baseless - perform baseless merge

    ForceMerge - do not look at merge history and perform merge for specified range of versions

    NoMerge - do not perform actual merge

    None - no special options

 

AfterMerge

AfterApiMerge

Download Demo Project

Team Foundation Server 2010 Key Concepts

Team Foundation Server 2010 Key Concepts

bharry just post a great article about TFS 2010 key concepts - http://blogs.msdn.com/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

There is couple of major changes and very nice improvements, each day we are getting closer and closer to VS2010.

I believe that these new capabilities will significantly change the way enterprises manage their TFS installations in the future.

Enjoy

Did you Ghotit Right?

Did you Ghotit Right?

Yaniv just post about Ghotit beta Word Plug-in is released,

here is a short comparison between Office Spell Checker and Ghotit Context Spell Checker.

Bad sentence – Oi arm a god men hou dos not no hou to spel.

Good sentence – I am a good man who does not know how to spell.

image

 

First lets check this sentence with Office Spell Checker – and the results are -

Oil arm a god men hour dos not no hour to spell

image

 

Now let’s check this sentence with Ghotit Context Spell Checker – and the results

I am a good man hoe does not know how to spell

image

 

In the second Check (iteration) Ghotit is trying to find the right word for - hoe

image

Posted: Apr 19 2009, 09:26 PM by shair | with no comments |

Visual Studio 2010 Enhancements For Asp.Net

Visual Studio 2010 Enhancements For Asp.Net

Mike Ormond's publish a great post on VS2010 and the new features in the Asp.Net area.

The post contains great information about Multi-Targeting, Web Designer Snippets, Javascript Intellisense Enhancements and Deployment in Asp.Net.

I recommend you to read it.

Here is a link to the full post - http://blogs.msdn.com/mikeormond/archive/2009/04/16/visual-studio-2010-enhancements-for-asp-net.aspx

 

ASP4_2_thumb

How To Add Check In Policy

How To Add Check In Policy

I know this is something that almost every one knows but some people don’t so here it is:

To perform this action you need to be Administrators of Team Foundation version control.

Open Team Explorer – Right click on your Team Project –> Team Project Settings – > Source Control

1

Choose “Check-in Policy” tab and add the policies  you want.

2

 

Test your Check-in policy by performing check-in in source control.

 

For additional policies download Team Foundation Server Power Tools

3

Some Team Foundation Server 2008 Reports give errors with SQL Server 2008

Some Team Foundation Server 2008 Reports give errors with SQL Server 2008

Some reports will generate errors, when no errors occur with the same reports if used against SQL Server 2005.
Depending on the specific data available for the report, and parameters selected, you may see errors similar to the following.
You may also see some variations of these error messages, or see errors listed under a reports below when viewing other reports.
The full error information will appear only if viewing the reports directly on the SQL Reporting Services server, which is most commonly the Team Foundation Server Application Tier machine.

The error simpler to this error:

An error occurred during client rendering.
An error has occurred during report processing.
Query execution failed for dataset 'AllScenarios'. ---- < Different dataset may appears.
Query (26, 3) The set must have a single hierarchy to be used with the complement operator
.


Reports from Projects Based on the "MSF for Agile Software Development - v4.2" Template

  • Scenario Details


Reports from Projects Based on the "MSF for CMMI Process Improvement - v4.2" Template

  • Issues and Blocked Work Items
  • Requirement Details
  • Requirements Test History and Overview
  • Triage

Reports common to both templates

  • Bugs by Priority
  • Bugs Found Without Corresponding Tests
  • Exit Criteria
  • Issues List
  • Load Test Summary
  • Quality Indicators
  • Related Work Items
  • Unplanned Work
  • Work Item with Tasks

 

Regretfully you need to contact Microsoft Customer Support Services to obtain the hotfix.

Microsoft KB - http://support.microsoft.com/kb/968905

How To Debug MSBuild Projects And Tasks

How To Debug MSBuild Projects And Tasks

Almost everyone customize their MsBuild scripts for the company needs.

But some times because those customization you spend a lot of time try to make this script works as you want.

There is no easy way to debug those MSBuild script / Tasks and here is a list of links to help you accomplish this:

 

published by - Buck Hodges - Debug your build with MSBuild Sidekick v2.3

Powerful MSBuild projects debugger with extended functionality: step through mode, visual representation of build process on a debug diagram, breakpoints, viewing of project Property/Item values on every debug step.

User-friendly editors for MSBuild Extension Pack tasks. Online help for those tasks is available right in the Help window.

Cancel build feature allows to interrupt build process at any time.

Project element inner XML is editable.

Price : 55$ - 450$

sidekick_debug_globals_small sidekick_debug_breakpoints_small

 

published by - SAYED IBRAHIM HASHIMI - How to debug MSBuild tasks

A very good guide to help you Debug MSBuildTasks using Visual Studio and couple of free Tasks available there.

Price: Free

 

MSBUILD

And the last one is by raising the verbosity using MSBuild command line referense

For example : /verbosity:level

The available verbosity levels are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. /v is also acceptable.

For example:

msbuild /v:diag

I'm a Microsoft MVP!!!!!!!!!!

I'm a Microsoft MVP!!!!!!!!!!images

Yes I did it!

Dear Shai Raiten,

Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.

Here is my story….

Approximatly two years ago I was a developer at ICQ, than my boss came and ask me if I know about Team System ?

And my answer was No.

I went to a private college to learn more about Team System, during my time there I met several good people, two of them which I like to mention here:

Ariel Gur-Arieh, an exceptional teacher that I've learned alot from in that college and more down the road And Guy kolbis who also helped me to get into this community.

After I finished the course I started working with Team System until it became a full time job.

A few months went by, and one day, I was contacted by Guy Burstein (*** My Hero ***) who offered me to pass the Microsoft keynote lecture about Team System in Israel SIGIST Conference 2007 .

The thought that I will be giving a lecture to so many people in such an important event, was terrifying at first, but with Guy's assistance and personal tutelage I got the job done.

After that and with Guy's encouragement, I started lecturing in more conferences. As My blog got more popular, I was writing more posts and got more involved in the community.

Now the circle is complete.

I would like to thank all the people who helped me get this MVP title and a special personal thanks to Sela Group and Guy burstien, my mentor.