我有一个c#控制台应用程序,可将数据上传到Sitecore / UCommerce实施。它基于UCommerce UConnector。当我从命令行运行它时,它执行没有问题,所有数据都正确上传和下载,没有错误。当我尝试安排此任务时,它会以0xffffff
错误退出。该任务指定一个命令行参数,该参数将应用程序设置为从App.Config
我已经搜索了这个错误并找到了许多我尝试但没有解决这个问题的建议。我尝试过的事情包括:
这些都没有任何区别。事件查看器中没有任何内容。应用程序中的错误记录(SQL)不记录任何内容。
我不知道这是否有任何相关性,但应用程序正在使用NHibernate,Castle Windsor,当然还有UCommerce。
任何人都可以建议我还没有尝试过吗?或者建议我如何找出错误可能是什么。
修改
这是命令行命令
更新
(我已删除了路径中的所有空格,以防引起问题,因此下面的命令与上图不同)
我已设法在服务器上更改配置并创建批处理文件。我还更改了应用程序所在的文件夹,因此路径中没有空格。在批处理文件中我有
cmd /c F:\SCProcessor\Orders\SiteConnector.exe /cfg
我在任务计划程序
中有同样的错误如果我双击批处理文件,它会完美运行。如果我将/c
更改为/k
(希望在命令窗口中看到错误报告),则不显示任何窗口,并且任务在我结束之前不会停止运行。
答案 0 :(得分:1)
好的,我已经解决了自己的问题。花了一段时间才发现问题究竟是什么,但最终我通过在SSMS和xp_cmdshell
中运行它来找到它。这报告说它找不到配置文件
C:\ Windows \ System32下\ APP_CONFIG \预取\ Common.config
app_config是控制台应用程序文件夹中的文件夹。在SiteConnector.exe.config中有许多包含各种配置的包含:
<sc.include file="App_Config/Prefetch/Common.config"/>
无论出于何种原因(我仍然需要解决原因),这解决了:
C:\ Windows \ System32下\ APP_CONFIG \预取\ Common.config
从任务调度程序或SQL作业调用它时,但是:
F:\ SCProcessor \订单\ APP_CONFIG \预取\ Common.config
从命令提示符运行时。
我将包含的路径更改为绝对路径,并且问题已修复。只需要将SiteConnector.exe.config
更新为
<sc.include file="{$CurrentFolder}/App_Config/Prefetch/Common.config"/>
如果可能的话。