TFS 2017自定义调用TeamFoundationApplication.Log

时间:2017-08-08 12:33:58

标签: c# tfs2017

我在TFS 2017中将我的项目从TFS 2010移开。但现在我收到一个错误:TeamFoundationApplication.Log

TeamFoundationApplication.Log(String.Format("ChangeWIState: {0}; state: {1}", wi.Id, state), 1, EventLogEntryType.Information);

  

错误1:CS0012类型'HttpApplication'在程序集中定义   没有引用。您必须添加对程序集'System.Web的引用,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。

     

错误2:CS0117'TeamFoundationApplication'不包含'Log'的>定义问题是什么?

2 个答案:

答案 0 :(得分:1)

根据错误,请尝试以下解决方法:

  • 安装NuGet包Microsoft ASP.NET Web API 2.2,在包管理器控制台中运行以下命令

    PM> Install-Package Microsoft.AspNet.WebApi -Version 5.2.3

  • 修改web.config,如下面的代码段,将汇编添加到编译元素:

    <system.web> <authentication mode="None" /> <compilation debug="true" targetFramework="4.5.1"> <assemblies> <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies> </compilation> <httpRuntime targetFramework="4.5.1" />

如果仍然不起作用,请使用日志方法TeamFoundationApplicationCore Class或LogException方法TeamFoundationEventLogger Class

尝试TeamFoundationApplicationCore.Log Method (String, Int32, EventLogEntryType)LogException(String, Exception)

答案 1 :(得分:1)

TFS不包含2012年的TeamFoundationApplication类。尝试TeamFoundationApplicationCore类:Log(String,Int32,EventLogEntryType)或LogException(String,Exception)

try {
//some code
}
catch (Exception ex)
{
    TeamFoundationApplicationCore.LogException("Exception from my code", ex);
}

你也可以使用:TeamFoundationEventLogger class