Thursday 26 November 2015

Value can not be null Parameter Name:store TFS WorkItem Store Error

Error HRESULT E_FAIL has been returned from a call to a COM component.

Description:
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
   at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.DataStoreNative.UpdateMetadata(IntPtr handle, Object rowset, String dbstamp, UInt32& changes)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.Datastore.UpdateMetadata(Object rowset, String dbstamp)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.EndBackendCall(BackendCallData data)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.RefreshCacheInternal(BackendCallData& data)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.InitializeInternal()
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.Microsoft.TeamFoundation.Client.ITfsTeamProjectCollectionObject.Initialize(TfsTeamProjectCollection teamProjectCollection)
   at Microsoft.TeamFoundation.Client.TfsTeamProjectCollection.InitializeTeamFoundationObject(String fullName, Object instance)
   at Microsoft.TeamFoundation.Client.TfsConnection.CreateServiceInstance(Assembly assembly, String fullName)
   at Microsoft.TeamFoundation.Client.TfsConnection.GetServiceInstance(Type serviceType, Object serviceInstance)
   at Microsoft.TeamFoundation.Client.TfsTeamProjectCollection.GetServiceInstance(Type serviceType, Object serviceInstance)
   at Microsoft.TeamFoundation.Client.TfsConnection.GetService(Type serviceType)
   at Microsoft.TeamFoundation.Client.TfsConnection.GetService[T]()

If you have already installed TFS Client SDK and successfully executing on localhost.You have to add below tags in your web.config to run you website/web api on remote host.

<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
              <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
       </startup

</configuration>

Hope this will resolve your issue.....

Tuesday 17 November 2015

Enable 32 bit Applications Azure Cloud Service Hosting automation

Enable 32 bit Applications Azure Cloud Service Hosting automation

Sometime dll issues occured on IIS based on 32-bit or 64-bit dlls.Error occured like below

Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader' or one of its dependencies. An attempt was made to load a program with an incorrect format.
If you have already reference with microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll or respective dll and its dependencies. 

Then it may be error due to 32-bit applications disabled on IIS.



To resolve this error, you can set it manually from IIS.
If you need hosted a site again and again. It will be time consuming to enable it.
To automate this, create a startup script with the below given commands
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/applicationPools

Save as this line to “setup.bat”.
Then include this file into your project, set "copy local"=true.
Open your ServiceDefinition.csdef and add below lines as in snapshot.
<webrole >
     <Startup>
              <Task commandLine="setup.cmd" executionContext="elevated" />
          </Startup>
</webrole >