我正在用C#编写ASP.NET Web服务。在昨天之前,如果我想调试它,我只需按F5,ASP.NET Development Server就会开始托管我的服务。断点将被启用并且可以工作。最近这个功能消失了。现在,当我开始调试时,启动了Development Server,但托管了我的旧版Web服务,并且断点不起作用。我得到一个警告,版本不匹配。
如果我重建所有内容,或更改程序集版本,甚至更改DLL的文件名,它都无济于事。 如果删除整个临时文件夹%TEMP%\Temporary ASP.NET Files
,则无效。旧的Web服务将从谁知道在哪里拉出来,并再次存储在临时文件夹中。
昨天之前的重大变化是我安装了IIS。安装在那里的Web服务按预期工作,但我也需要调试它。我认为问题是我安装了Web服务(使用vdproj),所以我卸载了它,但这也无济于事。
如何防止系统缓存旧版本的Web服务。无论如何,这个旧版本存储在哪里?
答案 0 :(得分:2)
检查ASP.NET项目的Web设置。要重新使用ASP.NET Development Server进行F5调试,请确保在“服务器”标题下选择“使用Visual Studio开发服务器”单选按钮。我还指定了一个特定的端口,以便我的解决方案中的其他项目可以一致地引用它(在我的情况下,我正在处理Web服务)。您很可能会找到“用户本地IIS Web服务器”单选按钮。
希望有所帮助。
编辑:这里的问题不是关于IIS,而是关于更改Web服务的目标构建输出文件夹。它必须是bin\
,否则开发服务器无法找到它。重建没有帮助,因为它会更改新文件夹中的dll文件,但旧文件将在bin文件夹中保持不受干扰。