Asp.net WCF远程调试的符号位置

Asp.net WCF远程调试的符号位置,asp.net,wcf,visual-studio-2010,remote-debugging,Asp.net,Wcf,Visual Studio 2010,Remote Debugging,这更像是一个“为什么这样工作”而不是一个“我该如何使它工作”之类的问题 我有一个正在远程调试的WCF web服务。它被部署到一个登台服务器,其中安装了VS 2010远程调试器,并作为Windows服务运行。权限正确,我可以毫无问题地附加到进程。我遇到的问题是无法始终加载符号 我已将WCF服务部署到C:\Webs\MyService,并在C:\Webs\MyService\bin中部署了各种DLL。它被设置为一个单独的站点,拥有自己的应用程序池。我发现,即使我在bin文件夹中有必要的.pdb文件,

这更像是一个“为什么这样工作”而不是一个“我该如何使它工作”之类的问题

我有一个正在远程调试的WCF web服务。它被部署到一个登台服务器,其中安装了VS 2010远程调试器,并作为Windows服务运行。权限正确,我可以毫无问题地附加到进程。我遇到的问题是无法始终加载符号

我已将WCF服务部署到C:\Webs\MyService,并在C:\Webs\MyService\bin中部署了各种DLL。它被设置为一个单独的站点,拥有自己的应用程序池。我发现,即使我在bin文件夹中有必要的.pdb文件,当我从本地计算机连接到w3wp.exe进程时,Visual Studio也不会加载任何符号。发生的情况是,当IIS启动并生成工作进程时,我的服务DLL将被复制到temp ASP.NET files目录下的深处,例如C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET files\root\19f82539\e55fff8f\assembly\dl3\2926a261\f625d158\U f62ecd01。我发现,如果我手动将.pdb文件复制到此文件夹,则符号将被加载,并且我可以进行调试


我想知道为什么它会这样工作,以及如何避免手动将符号文件复制到另一个目录。更糟糕的是,如果我必须进行更改和重新部署,工作进程将无法识别它们。我不得不重新启动IIS,这导致创建了一个不同的临时目录,需要我再次复制.pdb。

我在web应用程序中也遇到了类似的问题。微软显然意识到了这一点:

希望他们能尽快发布一个补丁


BrianR在一个相关问题上也提出了一个建议,即在远程服务器上创建一个包含调试文件的文件夹,将环境变量指向它。

感谢这些提示,我认为这是一个失败的原因。