0

我正在开发一个C#项目。 这使用一个DLL库,我也在同一时间开发。VS2015无法调试引用的DLL vs2015

在某些时候,我写了一个不同的单元测试应用程序(新项目) 在我的主应用程序中使用它们之前测试库中的一些新功能。 单元测试应用程序,从来没有写在图书馆的DLL,它只是测试新的功能。

新功能发生了一些问题,所以我编辑了我原来的主应用程序prj中的.dll(因为prj包含.dll作为附加项目)。

然后我从文件中得到了一些警告已经在我的mijn prj之外进行了修改。 但是,因为我从来没有从主应用程序的外部编辑dll。我没有重新加载mainapp后面的代码;因为我认为主应用程序包含当前的代码。从我的主应用程序,我仍然可以毫无问题地编译该库。

因为我不喜欢那些文件锁定类似的错误,我决定删除测试单元应用程序,并包括类似的测试功能,但现在从我的主要应用程序开发prj。现在,一个按钮打开一个测试表单来测试东西。

问题 现在我再也不能在我的DLL源代码中设置断点 当不顺心的事,代码执行犯规停止在哪里出了问题,我的DLL,但在我的mainapp挂起指向它使用dll的地方。

只是我的代码已被禁用,但没有足够的接缝。

+0

你的问题与单元测试项目无关。只要确保在运行应用程序时,引用了最新的DLL文件和PDB文件。尝试重建它,并检查bin/Debug文件夹中的DLL和PDB是否具有重建解决方案时的最后修改日期,以确保您的引用是最新的。 – Jay

+0

当我批量编译时,我看到最后修改的更改为我的编译时间。 所以他们更新,编译没有问题。 我只是不能在我的dll文件中设置任何断点?这曾经是可能的。 – user3800527

回答

0

我解决了它,但它仍然很奇怪。 为了防止其他人可能遇到类似问题,我发布了我的解决方案。

这就是我所做的。

我使用解决方案资源管理器从项目中删除了libray dll。 它只删除它不从磁盘等删除它的部分。

然后我去菜单工具\选项\ 在那里去调试>符号 有vsd1515使用的符号调试的pdp文件的位置。 然后,我删除了指向我的dll的pdb的路径。

保存我的项目。重新启动Vs2015 再次添加我的dll文件,文件菜单添加现有的prj 然后在选项调试符号我再次添加我的发布版本的dll的pdb文件位置。

===然后你可以设置断点,但它不够=== 这些断点将错误codeource不等于。

为了解决这个去构建菜单并进行清洁PRJ ,或者如果使用批量构建overthere使用清洁 然后重新开始了与构建

现在你可以设置断点,并在他们身上竟突破 ...漂亮amazin吧?