How to fix the CA0053 error in Code Analysis in Visual Studio 2012?

by Xavier Dilip Kumar 29. December 2013 06:45

Explanation:

You are opening a solution made in Visual Studio 2010 with VS 2012.  When you run Code Analysis you get a series of CA0053 errors, saying it is unable to load the rule sets from the Visual Studio 2010 directory

In the Error window you get an error message saying “Code Analysis detected errors.” And in the Code Analysis window you will get the “CA0053 Error running code analysis” with its “Unable to load rule assembly”.

This means the project is bound to Visual Studio 2010, where it should have been Visual Studio version independent. The absolute path to the Visual Studio 10 binaries is what causes the problem.

What has happened was that this certain VS2010 specific information was “inadvertently” introduced in SP1, and it has not been fixed in any later update. It does NOT happen if you run in Debug|x86 or Release|x86, but any other configuration you have added will give you this error.

Solution:

Tool to fix the errors available at http://visualstudiogallery.msdn.microsoft.com/471da13b-d415-4a44-a4e9-a8222316b902

 

 

 

Tags:

Visual Studio 2010 | Visual Studio 2012

w3wp.exe process is missing after TFS app tier reboot

by Xavier Dilip Kumar 23. December 2013 11:12

Explanation:

w3wp.exe an Internet Information Services (IIS) worker process is a windows process which runs Web applications, and is responsible for handling requests sent to a Web Server for a specific application pool. W3wp.exe process will not be started automatically after App tier reboot or IIS restart or application pool restart. w3wp.exe will be launched once the first request is made to the TFS Application.

Solution:

1. Try accessing TFS application once http://tfs:8080/tfs. See whether the w3wp.exe is available in "Windows Task Manager" --> "Processes Tab"

2. You can configure Worker process started automatically by adding startMode attribute to TFS application pool to AlwaysRunning in your applicationHost.config

<applicationPools>

   <add name="Default App Pool" startMode="AlwaysRunning" />

</applicationPools>

Solution 2 will work for IIS 7.5 or newer

Tags:

TFS | TFS 2010 | TFS 2012 | TFS 2013

Host Dormancy Concept in TFS

by Xavier Dilip Kumar 21. December 2013 13:44

Explanation:

Host Dormancy is a feature built-in to the 'kernel' of TFS that will pause jobs from running if a collection hasn't been accessed in a period of time. If a collection isn't being accessed, that means that the data isn't changing, so there's no need to run some jobs. This is key functionality that allows the Team Foundation Service to scale to thousands of collections.

Tags:

TFS

How to delete orphan workspaces and shelvesets from TFS team collection database?

by Xavier Dilip Kumar 20. December 2013 07:17

Todeleteorphanworkspaces.sql (2.93 kb)

 

To delete orphan workspaces.sql (2.93 kb)

Explanation:

Deleting a team project through tfsdeleteproject command will result making the associated workspaces and shelvesets as orphan records in TFS collection database. The collection database size may not reduce as expected even after team project delete. 

tfsdeleteproject /force /q /excludewss /collection:"<Collection Name>" "<Project Name>"

Solution:

The attached script finds and deletes the workspaces\shelvesets that only have workspace\shelvesets mappings for projects that no longer exist and delete them. 

Please backup the collection database before you execute the script.

This script require TFS 2012 update 2 or newer

To delete orphan workspaces.sql (2.93 kb)

To delete orphan shelvesets.sql (2.58 kb)

Tags:

TFS | SQL Server

TFS security model in configuration database

by Xavier Dilip Kumar 20. December 2013 06:42

 

Following is the sample query to get the user details associated with the team projects

SELECT TOP (10) PERCENT 
    login.display_name  AS user_name, 
    proj.scope_name     AS project, 
    login_grp.display_name AS user_group

FROM dbo.tbl_security_membership_cache AS membership INNER JOIN
  dbo.tbl_security_identity_cache AS login ON membership.member_id = login.tf_id INNER JOIN
  dbo.tbl_security_projects AS proj INNER JOIN
     dbo.tbl_security_domain AS domain INNER JOIN
       dbo.tbl_security_domain_groups AS grp ON domain.domain_number = grp.domain_number 
       ON proj.domain_number = domain.domain_number
     ON membership.container_id = grp.group_id INNER JOIN
  dbo.tbl_security_identity_cache AS login_grp ON grp.group_id = login_grp.tf_id

ORDER BY user_name, project

 

Tags:

TFS | SQL Server

TFS 2012 and VS 2012 featured with new workspace concept called “local” workspaces

by Xavier Dilip Kumar 19. December 2013 19:19

Explanation:

TFS 2012 and VS 2012 featured with new workspace concept called “local” workspaces.The workspace concept which was available from VS/TFS 2005 - 2010 is called as “server” workspaces. “server” workspaces is the default option while creating a new workspace in VS 2012.

When a local workspace is created, the required data structures will be moved from the TFS server onto the TFS Client. The data structures are local to local machine instead of being hosted on the TFS server. Moving the data structures to local machine gives VS 2012 the ability to perform a number of source control operations without TFS web service calls or active connection to TFS server. The following operations continue to work when the local machine is disconnected from the TFS server.

  • Opening a source-controlled solution
  • Checking out a file for edit
  • adding a new file or folder for add
  • Delete on an existing file or folder
  • Rename on an existing file or folder
  • Monitor pending changes in the workspace
  • Undoing pending changes
  • Diffing your copy of a file with the version of the file your change is pended against
  • The local workspace will not carry read only bit during get source.
  • “Promoting” the candidate adds and/or deletes
  • The local workspace will be invisible to VS 2010 and earlier versions
  • No enforcement of PendChange permission or checkout locks
  • The local workspace can be converted to Server workspace and reverse the same

Drawback on Local workspaces.

Local workspaces have scalability limitations due to their use of the local workspace scanner which checks for edited items.If the workspace has more than 50,000 items, There may be performance problems or "TF400030 errors as operations exceed 45 seconds in duration." may occur

Steps to create a local workspace.

  

 

Tags:

TFS 2012 | Visual Studio 2012

"TF400030: The local data store is currently in use by another operation. Please wait and then try your operation again. If this error persists, restart the application.”

by Xavier Dilip Kumar 19. December 2013 08:36

Exception:

"TF400030: The local data store is currently in use by another operation. Please wait and then try your operation again. If this error persists, restart the application.”

Explanation:

The error occur when using local workspaces in Visual Studio 2012 or later

TFS 2012 and VS 2012 featured with new workspace concept called “local” workspaces.The workspace concept which was available from VS/TFS 2005 - 2010 is called as “server” workspaces 

When a local workspace is created, The required data structures will be moved from the TFS server onto the TFS Client. The data structures are local to local machine instead of being hosted on the TFS server. Moving the data structures to local machine gives VS 2012 the ability to perform a number of source control operations without TFS web service calls. The following operations continue to work when the local machine is disconnected from the TFS server.

  • Opening a source-controlled solution
  • Checking out a file for edit
  • adding a new file or folder for add
  • Delete on an existing file or folder
  • Rename on an existing file or folder
  • Monitor pending changes in the workspace
  • Undoing pending changes
  • Diffing your copy of a file with the version of the file your change is pended against
  • The local workspace will not carry read only bit during get source.
  • “Promoting” the candidate adds and/or deletes
  • The local workspace will be invisible to VS 2010 and earlier versions
  • No enforcement of PendChange permission or checkout locks
  • The local workspace can be converted to Server workspace and reverse the same

Local workspaces have scalability limitations due to their use of the local workspace scanner which checks for edited items.If the workspace has more than 50,000 items, There may be performance problems or "TF400030 errors as operations exceed 45 seconds in duration." may occur

Reconciled operation on the server or deadlock between two operations may also trigger the error.

In Local workspace architecture, only a single operation (thread) can use this local data at a time. If two pieces of system want to use the data store simultaneously – perhaps the Solution Explorer and the Source Control Explorer both want to refresh after an Undo operation was performed – then these two components have to take turns to use the local data store. One will wait for the other to finish, and who gets to go first is arbitrary.

The ‘loser’ of the race has to wait before proceeding, but will only wait for about 45 seconds. If he ends up waiting for that full amount of time, but still doesn’t get the chance to use the local data store (because some other component of the system is still using it), then this error will be raised.

Workaround:

  • keep the size of the local workspace from growing too large, files and folders less than 50,000 items
  • Avoid working with extremely large sets of pending changes (10,000+) for a long time without checking in. This helps to keep ‘reconcile’ costs low
  • Install Visual Studio 2012 Update 2 or later to get protected from the deadlock scenarios
  • Convert the local workspace to server workspace

Tags:

TFS | TFS 2012 | Visual Studio 2012

How to switch a workspace from source to target workspace mappings without affecting the folders and files in the target workspace.

by Xavier Dilip Kumar 19. December 2013 08:02

Explanation:

A regular get operation will deleted each item in the target workspace folder and re-downloaded the folders and files from the server to target workspace folder.

Solution:

Use remap switch with tf get command

"tf get /remap"

Note: /remap switch does increase the load on server to process your request

Tags:

TFS 2010 | Visual Studio 2010 | Visual Studio 2012 | Visual Studio 2013

Can I lock folders and files in a shelveset?

by Xavier Dilip Kumar 19. December 2013 07:43

Explanation

A lock cannot exist in a shelveset, When you try to lock an item and shelve it, your lock will be removed as part of the shelve operation.

Tags:

Visual Studio 2010 | Visual Studio 2012 | Visual Studio 2013

Multiple TFS users mapping their workspaces to same folder on shared drive

by Xavier Dilip Kumar 18. December 2013 10:02

Explanation:

Multiple users mapping their workspaces to same folder on shared drive lead to conflicts in performing checkin, Checkout and "get latest" operations.

Workaround:

You can try users mapping their workspaces to different folder on shared drive.

For example

user 1 -- <Shared Drive>\User 1 Workspaces\

user 2 -- <Shared Drive>\User 2 Workspaces\

user 3 -- <Shared Drive>\User 3 Workspaces\

user 4 -- <Shared Drive>\User 4 Workspaces\

Note: Mapping the workspace to a shared drive lead to bad performance.

Tags:

Visual Studio 2010 | Visual Studio 2012 | Visual Studio 2013

About the author

My name is Xavier Dilip Kumar Jayaraj and I am a Software Configuration Management Engineer with a background in application development, Build & packaging using Install Shield.

Profile in LinkedIn

  

Quotes I Like

"Failure will never overtake me if my determination to succeed is strong enough."  - Dr. APJ. Abdul Kalam

"Always be yourself, express yourself, have faith in yourself, do not go out and look for a successful personality and duplicate it." - Bruce Lee

"Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important." - Bill Gates

"Innovation distinguishes between a leader and a follower." - Steve Jobs

Disclaimer

The information provided here is based on my expreriences, troubleshooting and online/offline findings. It can be used as is on your own risk without any warranties and I impose no rights.

Month List