1

我有将数据上传到 Sitecore/UCommerce 实现的 ac# 控制台应用程序。它基于 UCommerce UConnector。当我从命令行运行它时,它可以毫无问题地执行所有数据都会正确上传和下载而不会出错。当我尝试安排此任务时,它会因0xffffff错误而退出。该任务指定了一个命令行参数,该参数将应用程序设置为从App.Config

我搜索了这个错误,发现了很多我尝试过的建议,但没有一个能解决这个问题。我尝试过的事情包括:

  • 输入起始参数
  • 以最高权限检查运行
  • 将控制台应用程序转换为没有表单的 Windows 窗体应用程序
  • 使用管理员帐户运行任务
  • 设置应用程序所在文件夹的安全权限以完全控制
  • 在系统帐户下运行
  • 尝试在服务器 (Windows Server 2012) 和工作站 (Windows 7) 上运行相同的任务

这些都没有任何区别。事件查看器中没有记录任何内容。应用程序中的错误日志 (SQL) 不会记录任何内容。

我不知道这是否有任何相关性,但该应用程序正在使用 NHibernate、Castle Windsor,当然还有 UCommerce。

谁能建议我还没有尝试过的任何东西?或者建议我如何找出错误可能是什么。

编辑

这是所要求的命令行命令

命令行

更新

(我已经删除了路径中的所有空格,以防万一导致问题,所以下面的命令是与上图不同的路径)

我设法在服务器上更改了配置并创建了一个批处理文件。我还更改了应用程序所在的文件夹,因此路径中没有空格。在我的批处理文件中

cmd /c F:\SCProcessor\Orders\SiteConnector.exe /cfg

我在任务计划程序中报告了相同的错误

如果我双击批处理文件,它会完美运行。如果我将其更改/c/k(希望在命令窗口中看到报告的错误),则不会显示任何窗口,并且任务不会停止运行,直到我结束它。

4

1 回答 1

1

好的,我已经解决了我自己的问题。花了一段时间才发现问题到底是什么,但最终我通过在 SSMS 和xp_cmdshell. 这报告它找不到配置文件

C:\windows\system32\app_config\prefetch\Common.config

app_config 是控制台应用程序文件夹中的一个文件夹。在 SiteConnector.exe.config 中有许多包含各种配置的包含:

 <sc.include file="App_Config/Prefetch/Common.config"/>

无论出于何种原因(我仍然必须找出原因),这解决了:

C:\windows\system32\app_config\prefetch\Common.config

从任务调度程序或 SQL 作业调用它时,但是:

F:\SCProcessor\Orders\app_config\prefetch\Common.config

从命令提示符运行时。

我将包含的路径更改为绝对路径,问题已解决。只需要更新SiteConnector.exe.config到类似的东西

<sc.include file="{$CurrentFolder}/App_Config/Prefetch/Common.config"/>

如果可能的话。

于 2015-10-16T09:22:20.723 回答