为什么“临时ASP.NET文件”中的ASP.NET DLL没有在重建时获得更新?

时间:2011-06-27 21:56:42

标签: asp.net web-services visual-studio-2008

我正在研究一个我使用的web服务的DLL,我添加了一些新代码,并希望通过NUnit测试套件编译和调试它。我采取的步骤是。

  1. 在Visual Studio 2008中编写我的代码,输出目录指向我的应用程序bin目录(C:\ Program Files \ etc ...)。

  2. 当我启动我的webservice进程并附加到它时,我收到警告,我的程序是在没有调试信息的情况下构建的,我发现如果我将.pdb文件复制到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\...目录中那么我可以避免警告,但仍然没有点击我的代码部分。

  3. 我停止了我的应用程序,重新构建了我的DLL,并重新启动了Web应用程序。

  4. 经过进一步检查,我注意到当我停止申请时。进程资源管理器并删除了Temporary ASP.NET目录下的子目录,然后当我重新启动我的进程时,子目录被重新创建,但是它们不包含我之前构建的新DLL但是DLL的旧版本,也没有PDB文件。

  5. 总结一下,我的问题是如何让Visual Studio在临时ASP.NET目录中构建和更新DLL?有关更多工具,我如何让Visual Studio自动将PDB文件复制到同一临时目录而无需任何批处理帮助?

    理想情况下,我想避免将我的DLL自动复制到临时目录,但是通过我今天的搜索,我找不到任何合适的方法来执行此操作,因为ASP内部结构完全不受我的控制。

    注意:当我通过外部可执行文件访问我的Web服务时,我在NUnit上禁用了卷影复制功能。

1 个答案:

答案 0 :(得分:0)

想出这个,需要构建到ASP.NET Websites bin目录中以获取新的DLL。将输出路径从C:\Program Files\MyApp\Bin更改为C:\Program Files\MyApp\MyWebService\Bin,这似乎解决了我遇到的问题,新的DLL被复制并且所有调试都有效。

干杯!