我使用我在此处找到的模板为Sharepoint创建了一个简单的自定义计时器作业:http://saftsack.fs.uni-bayreuth.de/~dun3/archives/visual-studio-2005-project-template-for-sharepoint-2007-timer-jobs/142.html
我已成功部署并激活了timerJob。然后我决定在工作中添加几行代码,看看我是否可以测试我的代码。
我已经使用这些命令来卸载我的timerJob:
Stsadm.exe -o deactivatefeature -filename "\WeeklyDigestJob\feature.xml" -url http:/
/vmsrv28:8080/sites/MySite
STSADM -o uninstallfeature -name "WeeklyDigestJob" -force
STSADM -o retractsolution -name WeeklyDigestJob.wsp -immediate
STSADM -o execadmsvcjobs
STSADM -o deletesolution -name WeeklyDigestJob.wsp -override
然后我检查了文件夹C:\ Windows \ assembly,我的DLL并不像我预期的那样。之后,我从Visual Studio 2008项目文件夹中删除了所有生成的二进制文件(DLL,WSP文件等),并重新构建了解决方案。然后我使用相同的setup.bat文件安装我的timerJob并开始等待。
一分钟后(上一次构建中的时间表是2分钟,所以我看到安装程序类正常运行,因为我将其从2分钟更改为1分钟)并执行了我的timerJob。我对执行代码的更改没有显示任何效果。
我的初始代码是:
SPListItem newTask = taskList.Items.Add();
string r = DateTime.Now.ToString();
newTask["Title"] = r;
newTask.Update();
更新代码:
SPListItem newTask = taskList.Items.Add();
string r = DateTime.Now.ToString() + "New DLL";
newTask["Title"] = r;
newTask.Update();
但是我没有在新添加的项目的标题中获得任何“新DLL”字符串。
我该如何解决这个问题?感谢。
答案 0 :(得分:4)
您是否尝试过在services.msc中重新启动定时服务?我在过去发现这种情况喜欢坚持使用dll直到你重启它
还值得检查完整的IISReset是否也有助于它获取DLL