直接运行EXE正常,用任务计划运行报错

墨香 2018-06-21 04:56:20
直接运行EXE正常(在开始-运行中运行也正常,直接用代码运行也正常),但是用任务计划运行报错(用bat文件运行也报错)。

用任务计划报错信息:Exception Message:未将对象引用设置到对象的实例。

报错的具体行代码如下:
SheetDay.Cells["D" + SheetDayRow].PutValue(amount);

注:SheetDay是Worksheet,SheetDayRow是行号。用的EXCEL插件Aspose.Cells。
...全文
508 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨香 2018-06-22
  • 打赏
  • 举报
回复
引用 1 楼 yuankaiwsl 的回复:
这种情况很有可能是相对路径和绝对路径的问题

发现真的是用了相对路径的问题,看来要用任务计划只能改成绝对路径了。非常感谢
SoulRed 2018-06-22
  • 打赏
  • 举报
回复
这个问题我碰到过。是你程序运行目录上下文路径的问题
你原来程序引用的DLL就在你程序目录下,但你如果用CMD或者process之类的,上下文路径会变成父进程的目录
用其他程序运行需要指定为正确的环境目录
threenewbee 2018-06-21
  • 打赏
  • 举报
回复
主要是检查路径和权限,因为直接运行和计划任务运行的差别主要在这里。
巴士上的邂逅 2018-06-21
  • 打赏
  • 举报
回复
这种情况很有可能是相对路径和绝对路径的问题
            即时通讯系统 Version 1.0   本系统无须服务器,无须安装,直接双击执行文件即可使用;   界面是弹出式的,比较霸道,显示总在最前(挡在其他所有程序前),有信息来时不看都不行,当然,如果你把界面拖到边界的边缘,有消息来,它倒真的弹不出来; 界面大小不能调,点击“关闭”不会退出程序,只是将窗口隐藏;   要退出程序,鼠标右键单击屏幕右下角本系统图标“退出程序”;   退出时,通讯内容不做保存。 功能:   A、限制空信息;当新加入的成员向老用户发送信息,但又没告知对方自己是谁时,接收方实现自动添加并回叫;   B、使用文本文件保存信息,运行时只要一个.exe文件即可,   其他部门需要的话只要拷本程序.exe的可执行文件走就可以了,当然(运行环境得有FrameWork 2.0 支持[即微软2.0版本的dotnetfx.exe],否则会提示“应用程序初始化失败”而无法启动程序)   运行后会生成一个同名.txt文件,用于保存通讯各方信息   这个.txt文件可留可删,就算在程序运行过程,也是可以删除的,但在程序退出前如果没有对通讯方信息操作“修改”或者“删除”,下次要用时就需再次添加,如果有删、改操作,.txt文件又会被创建。因此不用担心文件被误删的事情,只要程序还在运行中,还是可以通过删改操作实现数据还原的。 适用:   地方有点小大,没有内线,各部门相隔小远,有电脑,没互联网上,不用服务器,不报销员工电话费,或者有小几家连锁店之类的公司使用 关键不足(对使用者而言并不影响日常使用):  A、当被呼叫方没有开启该系统,有时等待响应的时间太长(最长时可达十几秒)。  在等待期间不能关掉程序,否则表面上看似乎已退出程序,实际打开任务管理器你会看到,该程序还在进程列表中,这时再启动本程序的话,会抛出:“应用程序中发生了无法处理的异常。……。通常每个套接字地址(协议/网络地址/端口)只允许使用一次。。”的报错警告。  当然你点“继续”的话,貌似还能用,实际上是发送不出去信息的;  B、关机时,只要该系统开着,就无法实现正常关机,除了鼠标右键单击屏幕右下角本系统图标“退出程序”或者在运行栏敲:shutdown –f –s 强行关机。  目前努力探索解决A、B这两个关键问题……
本系统无须服务器,无须安装,直接双击执行文件即可与对方进行通讯; 界面是弹出式的,比较霸道,显示总在最前(挡在其他所有程序前),有信息来时不看都不行,当然,如果你把界面拖到边界的边缘,有消息来,它倒真的弹不出来; 界面大小不能调,点击“关闭”不会退出程序,只是将窗口隐藏; 要退出程序,鼠标右键单击屏幕右下角本系统图标“退出程序”; 退出时,通讯信息不做保存。 功能: A、限制空信息;当新加入的成员向老用户发送信息,但又没告知对方自己是谁时,接收方实现自动添加并回叫 B、使用文本文件保存信息,运行时只要一个.exe文件即可, 其他部门需要的话只要拷本程序.exe的可执行文件走就可以了,当然(运行环境得有FrameWork 2.0 支持[即微软2.0版本的dotnetfx.exe],否则会提示“应用程序初始化失败”而无法启动程序), 运行后会生成一个同名.txt文件,用于保存通讯各方信息(此文件可留可删,只是删后,要用时需再次添加。注意:程序运行过程不能删除该文件) 适用:   面积有点小大,有电脑,没有内线,员工没有报销电话费,没有互联网上,或者还有几家连锁店的公司使用 关键不足: A、当被呼叫方没有开启该系统,有时等待响应的时间太长(最长时可达十几秒)。 在等待期间不能关掉程序,否则表面上看似乎已退出程序,实际打开任务管理器你会看到,该程序还在进程列表中,这时再启动本程序的话,会抛出:“应用程序中发生了无法处理的异常。……。通常每个套接字地址(协议/网络地址/端口)只允许使用一次。。”的报错警告。 当然你点“继续”的话,貌似还能用,实际上是发送不出去信息的; B、关机时,只要该系统开着,就无法实现正常关机,除了鼠标右键单击屏幕右下角本系统图标“退出程序”或者在运行栏敲:shutdown –f –s 强行关机。 目前正努力解决A、B这两个关键问题(Seeking……),一解决立即上传
Go是下一代的互联网开发语言; Go是下一代互联网时代的C语言; Go的并发如何如何高; Go的语言如何如何简洁; 国外某公司全部由NodeJS转向Go开发; 国外某公司从ruby转向go之后,服务器数量从20多台降到了2台; Go项目开发的优点 (1)开发体验好 go的编译速度极快,可以在保存完代码后直接刷新浏览器看效果,开发体验接近动态语言。 (2)Go很容易将错误定位到代码行上 除view模版之外,go很容易将错误定位到具体的行上,方便开发人员排错。 (3)语法相对简洁 确实相对来说,能省一些代码量。 (4)很容易部署 这个很容易部署是相对.NET、Java等这些编译型语言,因为go也是编译型的,它开发的程序,不用考虑依赖,直接会生成一个.exe文件,任何平台下都可以直接运行。这也是当时很吸引我的地方。 当然,go编译后的程序也相对较大。 (5)轻量级 相对Java来讲,Go语言比较轻量级,无论是IDE还是开发、部署,都不像Java那么笨重、复杂。 (6)相对严谨 在Go中,如果你导入了一个包,但是没有用,或你定义了一个变量,后面没有使用这个变量都会报错。 本套课程从GoWeb基础讲起,并配有实战案例,内容包含:Web简介、使用Go搭建服务器、使用Go对数据库进行增删改查、使用 Go处理请求和响应以及Go的模板引擎等。实战案例的功能模块包括:登录注册、图书的增删改查、分页、购物车、订单管理等。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧