Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调试引用的类库时出现意外行为_C#_Asp.net_.net_Visual Studio_Debugging - Fatal编程技术网

C# 调试引用的类库时出现意外行为

C# 调试引用的类库时出现意外行为,c#,asp.net,.net,visual-studio,debugging,C#,Asp.net,.net,Visual Studio,Debugging,我有一个web应用程序项目,它引用了类库项目dll。类库位于不同的解决方案中 我想通过在类库自己的项目中设置断点来调试类库。在谷歌上搜索后,我做了以下操作: 未选中调试选项中的“仅启用我的代码” 在“调试-->选项-->符号”选项卡中,我删除了Microsoft符号服务以外的位置。删除缓存目录并清空缓存 顺便说一句,我在IIS上托管web应用程序,调试器将附加到IIS进程 因此,问题是,使用此配置,当我开始调试并查看“模块”窗口时,类库的符号是从一个目录加载的,该目录以“C:\Windows\M

我有一个web应用程序项目,它引用了类库项目dll。类库位于不同的解决方案中

我想通过在类库自己的项目中设置断点来调试类库。在谷歌上搜索后,我做了以下操作:

  • 未选中调试选项中的“仅启用我的代码”
  • 在“调试-->选项-->符号”选项卡中,我删除了Microsoft符号服务以外的位置。删除缓存目录并清空缓存
  • 顺便说一句,我在IIS上托管web应用程序,调试器将附加到IIS进程

    因此,问题是,使用此配置,当我开始调试并查看“模块”窗口时,类库的符号是从一个目录加载的,该目录以“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files…”开头。但这是错误的。它应该是类库的目录

    为了修复它,我尝试删除该位置的pdb。乍一看,这似乎是可行的,VS从正确的位置加载了正确的pdb。但当我重建类库以便断点生效时,符号位置再次恢复到Temp ASP.NET Files目录


    如何才能获得正确的结果?

    您是否发现问题不在于pdb位于何处,pdb以源代码为目标,您甚至可以检查一下,使用Notepad打开pdb为什么不将类库项目添加到您拥有web项目的解决方案中?该项目可以是任意数量解决方案的成员。并将所有选项设置为default@Nilesh我有点困惑。那么bin-->调试文件夹呢。这就是我将IIS虚拟目录映射到的目录,并执行我的测试。@T.S.如果我可以将它们作为只读项目添加以进行调试,我愿意这样做。但除此之外,在一个解决方案中对项目进行资源控制并能够从其他解决方案中对其进行操作对我来说似乎有点容易出错。您是否看到问题不在于pdb位于何处,而在于pdb针对的是您的源代码,您甚至可以使用NotePad打开pdb来检查,为什么不将类库项目添加到您拥有web项目的解决方案中呢?该项目可以是任意数量解决方案的成员。并将所有选项设置为default@Nilesh我有点困惑。那么bin-->调试文件夹呢。这就是我将IIS虚拟目录映射到的目录,并执行我的测试。@T.S.如果我可以将它们作为只读项目添加以进行调试,我愿意这样做。但除此之外,在一个解决方案中对项目进行资源控制,并能够从其他解决方案中对其进行操作,对我来说似乎有点容易出错。