[英]Why are my ASP.NET DLL's in “Temporary ASP.NET Files” not getting updated on rebuilds?
我正在研究一个我使用的web服务的DLL,我添加了一些新代码,并希望通过NUnit测试套件编译和调试它。 我采取的步骤是。
在Visual Studio 2008中编写我的代码,输出目录指向我的应用程序bin目录(C:\\ Program Files \\ etc ...)。
当我启动我的webservice进程并附加到它时,我收到警告,我的程序是在没有调试信息的情况下构建的,我发现如果我复制了C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\Temporary ASP.NET Files\\...
的.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? 对于更多kudo,如何让Visual Studio自动将PDB文件复制到同一个临时目录而不需要任何批处理帮助?
理想情况下,我想避免将我的DLL自动复制到临时目录,但是通过我今天的搜索,我找不到任何合适的方法来执行此操作,因为ASP内部结构完全不受我的控制。
注意:当我通过外部可执行文件访问我的Web服务时,我在NUnit上禁用了卷影复制功能。
想出这个,需要构建到ASP.NET Websites bin目录中以获取新的DLL。 将输出路径从C:\\Program Files\\MyApp\\Bin
更改为C:\\Program Files\\MyApp\\MyWebService\\Bin
,这似乎解决了我遇到的问题,新DLL被复制并且所有调试都有效。
干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.