You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS12的ASP.NET空网站中添加程序集引用使用Quartz 2.0.0?

解决VS12空ASP.NET网站中Quartz 2.0.0的程序集引用问题

我来帮你搞定这个Quartz引用的问题,针对你用VS12创建空ASP.NET网站的场景,按以下步骤操作就能正常使用Quartz了:

一、添加Quartz程序集引用的两种方法

1. NuGet包管理器(推荐,最省心)

空ASP.NET网站同样支持NuGet,步骤很简单:

  • 右键你的网站项目,选择「管理NuGet程序包」
  • 在搜索框输入Quartz,找到2.0.0版本的包(注意匹配你要的版本),点击「安装」
  • NuGet会自动下载并添加Quartz及其所有依赖的程序集,不用手动找dll,避免遗漏依赖导致的错误

2. 手动添加dll引用

如果你已经下载了Quartz 2.0.0的压缩包:

  • 解压后找到Quartz.dll,同时别忘了它的依赖Common.Logging.dll(Quartz 2.0必须依赖这个组件)
  • 右键网站项目 → 「添加引用」 → 点击「浏览」按钮,找到刚才的两个dll文件,选中后点击「确定」

二、代码里的潜在问题提醒

注意你在Class2的Execute方法里直接使用System.Web.HttpContext.Current.Session,这里有个坑:Quartz的任务是在后台独立线程中执行的,这个线程并不关联任何用户的请求上下文,所以HttpContext.Current很大概率是null,直接访问Session会抛出空引用异常。

建议你换一种存储方式:

  • 如果这些随机URL是所有用户共享的,改用Application对象:System.Web.HttpContext.Current.Application["add1"] = add1;
  • 如果需要每个用户独立的随机值,应该在用户发起请求的时候再生成,而不是用后台任务提前存入Session

三、关于AssemblyInfo.cs的说明

空ASP.NET网站默认确实没有AssemblyInfo.cs,但这个文件和Quartz的引用完全无关——它只是用来配置程序集的版本、版权等元信息的,不影响Quartz的正常使用,所以不用纠结这个文件的缺失。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:16:07