我正在研究一个我使用的web服务的DLL,我添加了一些新代码,并希望通过NUnit测试套件编译和调试它。我采取的步骤是。
在Visual Studio 2008中编写我的代码,输出目录指向我的应用程序bin目录(C:\ Program Files \ etc ...)。
当我启动我的webservice进程并附加到它时,我收到警告,我的程序是在没有调试信息的情况下构建的,我发现如果我将.pdb文件复制到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\...
目录中那么我可以避免警告,但仍然没有点击我的代码部分。
我停止了我的应用程序,重新构建了我的DLL,并重新启动了Web应用程序。
经过进一步检查,我注意到当我停止申请时。进程资源管理器并删除了Temporary ASP.NET目录下的子目录,然后当我重新启动我的进程时,子目录被重新创建,但是它们不包含我之前构建的新DLL但是DLL的旧版本,也没有PDB文件。
总结一下,我的问题是如何让Visual Studio在临时ASP.NET目录中构建和更新DLL?有关更多工具,我如何让Visual Studio自动将PDB文件复制到同一临时目录而无需任何批处理帮助?
理想情况下,我想避免将我的DLL自动复制到临时目录,但是通过我今天的搜索,我找不到任何合适的方法来执行此操作,因为ASP内部结构完全不受我的控制。
注意:当我通过外部可执行文件访问我的Web服务时,我在NUnit上禁用了卷影复制功能。
答案 0 :(得分:0)
想出这个,需要构建到ASP.NET Websites bin目录中以获取新的DLL。将输出路径从C:\Program Files\MyApp\Bin
更改为C:\Program Files\MyApp\MyWebService\Bin
,这似乎解决了我遇到的问题,新的DLL被复制并且所有调试都有效。
干杯!