【问题标题】:Script runs old version of .NET app even after replacing app with new version即使在用新版本替换应用程序后,脚本也会运行旧版本的 .NET 应用程序
【发布时间】:2013-04-15 12:18:48
【问题描述】:

感谢您阅读本文。

Environment 是在 Windows Server 上运行的 AutoSys 调度程序,该作业调用 Perl 脚本,该脚本通过 FTP 抓取一些文件并使用 VB.NET 应用程序处理它们。在客户请求更改后,我们上周推出了新版本的 VB.NET 应用程序。

新版本被推送,但是当脚本以某种方式运行时,旧代码正在执行(我们可以通过日志输出和结果文件来判断)。如果我从桌面运行脚本,它会执行新代码,但从调度程序运行时,它会运行旧代码。

这对我们来说很困难,因为该应用程序的旧版本不再可用。我们用新版本复制了它(再次,当我运行它时它可以工作)。

有什么想法吗?感谢大家花时间阅读本文并试图帮助我!

【问题讨论】:

  • 客户端是否将系统复制到另一个位置? (你知道每个人很可能会问这个......)你是否彻底检查了 Pearl 脚本以确保没有在另一个分支中进行某些调用?
  • 嘿,韦斯蒂,谢谢。客户端没有在其他任何地方复制代码,Perl 脚本只在一个地方。该脚本非常基本,只有几行。我在想也许 Windows 正在以某种方式缓存应用程序。
  • 删除了上一篇文章 - 我很笨(别问!)。我认为您必须提供有关结构的更多信息-我对 Pearl 了解不多-它是作为一种基于 Web 的脚本运行的,还是我们正在寻找一种在特定服务器上处理命令的服务(请原谅我的无知)。

标签: .net windows vb.net batch-file autosys


【解决方案1】:

听起来像是 Autosys 作业环境与您从桌面运行的环境不同的经典问题。当您从命令提示符作为该服务器上作业的用户 ID 运行时,该命令是否有效?如果是从该命令提示符运行,请运行 set > user_env.txt

将现有的 autosys 作业复制到新作业,并将命令替换为 set > autosys_env.txt。然后运行作业。检查 user_env.txt 和 autosys_env.txt 是否存在任何可能导致该错误的差异。仔细查看 PATH 值。您可能需要从命令提示符和作业中运行 perl -v 和等效的 vb.net。如果安装了 where.exe,这有助于查看文件所在的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2021-01-23
    • 1970-01-01
    • 2016-11-01
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多