2013-02-12 51 views
0

我正在用C#编写一个ASP.NET Web服务。在昨天之前,如果我想调试它,我只需按F5键,ASP.NET开发服务器就会开始托管我的服务。断点将被启用,并将工作。最近这个功能消失了。现在,当我开始调试时,开发服务器已启动,但旧版本的Web服务已托管,并且断点不起作用。我收到警告,说明版本不匹配。VS2008调试旧的ASP.NET Web服务

如果我重建所有内容或更改程序集版本,甚至更改DLL的文件名,它都不起作用。 如果我删除整个临时文件夹%TEMP%\Temporary ASP.NET Files,这并没有帮助。旧的Web服务将从谁知道哪里被拔出,并再次存储在临时文件夹中。

昨天之前的主要变化是我安装了IIS。那里安装的Web服务按预期工作,但我也需要调试它。我认为问题在于我安装了Web服务(使用vdproj),所以我卸载了它,但这也没有帮助。

如何防止系统缓存旧版本的Web服务。这个旧版本在哪里存储?

回答

2

检查ASP.NET项目的Web设置。要重新使用ASP.NET Development Server进行F5调试,请确保在“服务器”标题下选择了“使用Visual Studio Development Server”单选按钮。我还指定了一个特定的端口,因此我的解决方案中的其他项目可以一致地引用它(在我的情况下,我正在处理Web服务)。您很可能会找到选中“用户本地IIS Web服务器”单选按钮。

希望有所帮助。

编辑:这里的问题不是关于IIS,而是关于更改Web服务的目标生成输出文件夹。它必须是bin\,或者开发服务器找不到它。重建没有帮助,因为它会改变新文件夹中的dll文件,但旧文件在bin文件夹中不会受到干扰。

+0

不,那不是。调试设置没有改变。 Development Server是正在运行的,但它托管旧版本的Web服务。还有其他问题。 – Dialecticus 2013-02-12 12:43:20

+0

您是否有在IIS中定义的站点使用与开发服务器试图使用的相同的输出文件夹(即bin \ Debug)? – 2013-02-12 13:11:43

+0

网站从IIS卸载。当我删除'Temporary ASP.NET Files'文件夹时,我的web服务无法在C:\ disk上找到(它可以在D:\项目所在的位置)。所以我只会重复一遍:**任何地方都没有旧文件**。当我开始调试时,会再次创建临时文件夹,并在那里找到旧版本的Web服务。凭空创造出来的。 – Dialecticus 2013-02-12 13:34:07