我以本教程为例来创建一个计时器作业。
这是我的计时器工作代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint;
namespace CalcAnnualConsumptionTotals
{
public class GroupAnnualConsumption : SPJobDefinition
{
public GroupAnnualConsumption() : base() {} // <-- public default constructor
public GroupAnnualConsumption(string jobName, SPService service,
SPServer server, SPJobLockType lockType)
: base(jobName, service, server, lockType)
{
this.Title = "Group Annual Consumption";
}
public GroupAnnualConsumption(string jobName, SPWebApplication webapp)
: base(jobName, webapp, null, SPJobLockType.ContentDatabase)
{
this.Title = "Group Annual Consumption";
}
public override void Execute(Guid targetInstanceId)
{
.....
}
}
}
如您所见,我有默认的公共构造函数,但是当我尝试部署它时,它显示错误:
部署步骤“撤回解决方案”中发生错误:CalcAnnualConsumptionTotals.GroupAnnualConsumption 无法反序列化,因为它没有公共默认构造函数
当我第一次遇到这个错误时,我实际上忘记了添加默认构造函数。但即使在添加之后,它也会向我显示错误。我认为我最初的尝试会部分成功,从而导致部署。但即使通过管理中心或Get-SPTimerJob
.
任何想法为什么会出现这个错误。