Not sure what I'm meant to see or do?

Mar 4, 2009 at 11:11 AM

I'm really keen to give this a go however I'm having problems.

Firstly it's not 100% clear how the webconfig should be for the user: <add loginID="[domain login for administrator, create additional <add/> node for each user]" I'm assuming <add loginID="domain\login"/>?

Secondly, point1 talks about copying the files and assembly across? Which files as some of these files already exist on the server, am I meant to replace any existing files?

And finally how am I meant to know if it's working, will it give me a time sheet tab on the main page?

Any help on the above points would be great.


Mar 4, 2009 at 11:37 AM

  1. Example:
        <add key="TimesheetAdministrators" value="microsoft\billgates;disney\mickeymouse"/>
        <add key="TimesheetWorkAmountFields" value="Microsoft.VSTS.Scheduling.CompletedWork" />
  2. Yes...replace existing files
  3. Yes....a timesheet tab WILL appear on the home page


Mar 4, 2009 at 11:57 AM
Excellent thank-you for that.

I've done everything in the readme now however I'm still having problems.

When I open up the Default.aspx I don't see a time sheet tab.

And when I explicitly go to http://localhost:8090/UI/Pages/Timesheet/Explorer.aspx

I get the error:

Could not load file or assembly 'Microsoft.TeamFoundation.WebAccess.WorkItemTracking' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference

Have I done something wrong?


Mar 4, 2009 at 12:14 PM
Probably not.  This version of Timesheet works ONLY with TFS 2008 WITHOUT SP1.  I think I uploaded a version that works with SP1 otherwise I can give you a download link..
Mar 4, 2009 at 12:18 PM
A link would be great. Thanks
Mar 4, 2009 at 12:47 PM

I've posted two links: one has my entire WebAccess with SP1 and the Timesheet AND just the SP1 timesheet

Mar 4, 2009 at 1:13 PM
Excellent, thank you.

Much closer now, the latest error however is, when I click on Add Work Items in the TimeSheet tab I get the error Object reference not set to an instance of an object and nothing else.

Any ideas?


Mar 4, 2009 at 1:16 PM
Edited Mar 4, 2009 at 1:18 PM
I'll be upgrading my organization's own TFS server to TFS/TSWA SP1 this weekend and will release a version of the timesheet supporting SP1, along with a fix to the object reference error you see above.  I'll let you all know when it's ready.
Mar 4, 2009 at 1:33 PM
Great stuff, look forward to using it.

Thanks for all your help jamespglenn.

Mar 7, 2009 at 5:25 PM
OK, I've updated the assemblies in the lib directory, the references in the project, and the shared controls under UI/Controls.  I've deployed it on my TSWA 2008 SP1 setup and preliminary testing checks out for me:  no errors viewing/saving timesheets, .  Can one of you get the latest source code, build, and deploy it on your server to verify that you no longer run into the issues you encountered earlier?  If so, I'll package it up into a formal release.

Thanks for your comments and help, guys.
Mar 8, 2009 at 3:16 AM
Worked for me.  I am removing the downloads I previously posted to my site so no one will be confused.
Mar 8, 2009 at 4:52 PM
Hi, I'm off work this week skiing, I will look first time next week.


Sent from my iPhone

On 7 Mar 2009, at 18:25, lstratman <> wrote:

From: lstratman

OK, I've updated the assemblies in the lib directory, the references in the project, and the shared controls under UI/Controls. I've deployed it on my TSWA 2008 SP1 setup and preliminary testing checks out for me: no errors viewing/saving timesheets, . Can one of you get the latest source code, build, and deploy it on your server to verify that you no longer run into the issues you encountered earlier? If so, I'll package it up into a formal release.

Thanks for your comments and help, guys.
Mar 26, 2009 at 12:58 PM

Sorry it has taken me so long to get back to you.

I have gone through the installation again, I had less problems with DLL's etc, however when I click the timesheet tab I am getting the following error:
[NullReferenceException: Object reference not set to an instance of an object.]
   Microsoft.TeamFoundation.WebAccess.UI.Controls.PageHeader.RenderTabs(String activeTab) +175
   Microsoft.TeamFoundation.WebAccess.UI.Masters.Content.RenderPage() +519
   Microsoft.TeamFoundation.WebAccess.UI.WebAccessPageMaster.OnLoad(EventArgs e) +22
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
The URL it is trying to load is http://[MyServer]:8090/UI/Pages/Timesheet/Explorer.aspx

Any thoughts?


My Webconfig:

<?xml version="1.0" encoding="UTF-8"?>

    <section name="webAccessSettings" type="Microsoft.TeamFoundation.WebAccess.Common.WebAccessSettings" />
    <section name="timesheetSettings" type="Stratman.Web.VSTS.TimesheetSettings"/>

    <enforceConsistency enabled="false"/>
    <updateWorkItemsFromTimesheet enabled="true"/>

      <add loginID="johim0\eblake"/>
      <add loginID="johim0\dlomas"/>
      <add loginID="johim0\dparrish"/>
      <add loginID="johim0\tgadsby"/>

      <add label="Dev" completedHoursFieldName="Microsoft.VSTS.Scheduling.CompletedWork" remainingHoursFieldName="Microsoft.VSTS.Scheduling.RemainingWork"/>

    <add name="TimesheetDatabase" connectionString="Server=1dv0043\tfssql;Database=TfsTimesheet;User ID=TimesheetUser;Password=s7j8me5"/>

    <!-- Specifies whether the login form is enabled. If disabled, only
    Integrated Windows Authentication is allowed. -->
    <formsAuthentication enabled="true" />

    <!-- Specifies whether advanced Integrated Windows Authentication options
    are enabled. -->
    <delegatedAuthentication enabled="false" />

    <!-- Specifies whether compression for dynamic content is enabled. -->
    <outputCompression enabled="true" />

    <!-- Keeps the connection to TFS alive to avoid session timeouts. -->
    <tfsKeepAlive enabled="true" />

    <!-- Specifies the default Team Foundation Server to initially connect
    when Integrated Windows Authentication is enabled. When more than
    one server is specified, these servers are displayed as a selection on
    the login form. -->
      <add name="http://1dv0043:8080" />

    <!-- Specifies maximum number of workitems when query results are being sent as an email or viewed as a report.-->
    <maxWorkitemsInReportList count="100" />

    Specifies whether sending query results and work items as email is enabled.
    Make sure to enable/disable mailSettings section in <> below for the sender username and password
    <emailSettings sendingEmailEnabled="false" enableSsl="false" />

      <add name="showBrowserToolbar" value="true"/>


    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <assemblyIdentity name="Microsoft.TeamFoundation.WebAccess.WorkItemTracking"
                          culture="neutral" />
        <bindingRedirect  oldVersion=""
                          newVersion="9.0.3000.0" />

    <!-- Directory path where cache is stored. -->
    <add key="WorkItemTrackingCacheRoot" value="C:\Program Files\Microsoft Visual Studio 2008 Team System Web Access\Cache\Tswa"/>
    <add key="TfcBin" value="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies" />


    <urlMappings enabled="true">
      <add url="~/home.aspx" mappedUrl="~/Index.aspx" />
      <add url="~/home" mappedUrl="~/Index.aspx" />

      <add url="~/allq.aspx" mappedUrl="~/UI/Pages/WorkItems/AllQueries.aspx" />
      <add url="~/qx.aspx" mappedUrl="~/UI/Pages/WorkItems/QueryExplorer.aspx" />
      <add url="~/wi.aspx" mappedUrl="~/UI/Pages/WorkItems/WorkItemEdit.aspx" />
      <add url="~/qe.aspx" mappedUrl="~/UI/Pages/WorkItems/EditQuery.aspx" />
      <add url="~/q.aspx" mappedUrl="~/UI/Pages/WorkItems/QueryResult.aspx" />
      <add url="~/qr.aspx" mappedUrl="~/UI/Pages/WorkItems/QueryResultNW.aspx" />

      <add url="~/cs.aspx" mappedUrl="~/UI/Pages/Scc/ViewChangeset.aspx" />
      <add url="~/history.aspx" mappedUrl="~/UI/Pages/Scc/History.aspx" />
      <add url="~/diff.aspx" mappedUrl="~/UI/Pages/Scc/Difference.aspx" />
      <add url="~/view.aspx" mappedUrl="~/UI/Pages/Scc/ViewSource.aspx" />
      <add url="~/ann.aspx" mappedUrl="~/UI/Pages/Scc/Annotate.aspx" />
      <add url="~/scc.aspx" mappedUrl="~/UI/Pages/Scc/Explorer.aspx" />
      <add url="~/ss.aspx" mappedUrl="~/UI/Pages/Scc/ViewShelveset.aspx" />

      <add url="~/report.aspx" mappedUrl="~/UI/Pages/Reports/Report.aspx" />
      <add url="~/reports.aspx" mappedUrl="~/UI/Pages/Reports/Explorer.aspx" />

      <add url="~/docs.aspx" mappedUrl="~/UI/Pages/Documents/Explorer.aspx" />

      <add url="~/builds.aspx" mappedUrl="~/UI/Pages/Builds/Explorer.aspx" />

    <globalization culture="auto" uiCulture="auto"/>

    <!-- For Integrated Windows Authentication, set Authentication Mode to "Windows"
    For Forms authentication, set it to None -->
    <authentication mode="Windows"/>
    <!-- For Integrated Windows Authentication, enable Identity Impersonation -->
    <identity impersonate="true"/>
    <httpRuntime executionTimeout="300"/>
    <pages validateRequest="false" enableEventValidation="false"/>
    <customErrors mode="Off"/>
    <sessionState mode="InProc" cookieless="false" timeout="30"/>
    <trace enabled="false" pageOutput="false" requestLimit="40" localOnly="false"/>

      <add name="CompressionModule" type="Microsoft.TeamFoundation.WebAccess.CompressionModule"/>
      <add name="ReportWrapperModule" type="Microsoft.TeamFoundation.WebAccess.ReportWrapperModule"/>

      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
      <add path="CachedResource.axd" verb="*" type="Microsoft.TeamFoundation.WebAccess.Controls.CachedResourceHandler" validate="false"/>
      <add path="StateDiagram.axd" verb="*" type="Microsoft.TeamFoundation.WebAccess.StateDiagramHandler" validate="false"/>
      <add path="SccDownload.axd" verb="*" type="Microsoft.TeamFoundation.WebAccess.SourceDownloadHandler" validate="false"/>
      <add path="SccFolderDownload.axd" verb="*" type="Microsoft.TeamFoundation.WebAccess.SccFolderDownloadHandler" validate="false" />

    <compilation debug="false" batch="false" />


    <trace autoflush="true">
        <add name="TeamPlainTracer" type="System.Diagnostics.TextWriterTraceListener, System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          initializeData="C:\Program Files\Microsoft Visual Studio 2008 Team System Web Access\Cache\Tswa\TswaLog.txt"/>
        <remove name="Default"/>

      <add name="TSWA.General" value="Verbose"/>
      <add name="TSWA.Application" value="Verbose"/>
      <add name="TSWA.TeamFoundationServer" value="Verbose"/>
      <add name="TSWA.UserControl" value="Verbose"/>
      <add name="TSWA.Configuration" value="Verbose"/>
      <add name="TSWA.Security" value="Verbose"/>
      <add name="TSWA.API" value="Verbose"/>

      <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/d:TRACE" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1"/>
      <compiler language="VB" extension=".vb" compilerOptions="/d:Trace=true" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

Mar 26, 2009 at 1:23 PM
OK, scrap the above message, it does work ok for me now.

What I did is put it in the wiwa folder instead of the web folder. Could you explain the difference between these two folders as they both seem to have very similar structures


Mar 26, 2009 at 10:05 PM
The wiwa folder is new in TSWA 2008 and is short for Work Item Web Access.  I believe that it is for accessing only work items that you put in yourself, sort of a restricted version of the normal work item web access that occurs in TSWA where you can see everything.  Whether or not you use WIWA is something that you turn on or off via the web.config.
Apr 6, 2009 at 6:13 PM
Hi just to let you know after solving a very annoying problem I was having with TSWA security, we've started using the Timesheets.

So far so good, my other two team mates really like it too.

One very quick point, it would be great if I could remove work items from the week view when it has no time assigned to it.