Visual Studio在调试期间缓存程序集的旧版本

问题描述

我当前正在使用Visual Studio 2019 Enterprise。自VS 2017以来,我遇到了这个问题,也许更远了。问题在于,对于某些项目(没有明显的押韵或原因),VS似乎会缓存依赖程序集的旧版本。调试时,如果我修改了这些程序集中的代码,则不会遇到中断,也不会遇到断点。解决方案始终是重建所有内容……两次……然后启动。

恕我直言,这使疑难解答的原因是不一致,因为并非每个项目都发生这种情况,但是一旦给定项目出现问题,该项目就始终存在问题。以下是有关我们解决方案结构的一些背景知识:

我们在单独的解决方案/项目中创建所有中层库,然后构建这些库的调试版本。我们将这些调试程序集的dll / pdb文件部署到一个通用的BIN filder,然后为具有依赖项的任何项目引用该文件。我们的主要应用程序是具有.net远程处理功能的Web应用程序。我们的中间层服务在实现服务层并引用我提到的那些中间层库的“远程服务器”应用程序中公开。

因此,例如,问题是我将对某些程序集进行一些更改。我们称它为corp.shopping.businessobjects。我构建它,将其部署到公共容器中,并由Corp.Shopping.RemotingServer项目引用。如果我对Corp.Shopping.BusinessObjects中的类进行了更改,部署了该类,然后调试Remoting Server,则断点在该代码中不起作用,并且不会更改新的代码。就像正在使用程序集的某些缓存版本一样,即使在项目的输出bin,公共bin和远程服务器的输出bin中查看dll / pdb文件本身,也都显示了正确的日期/时间。

很明显,当您不能依赖于代码的完整性来调试它时,这使单元测试成为绝对的噩梦。关于如何诊断这里发生的事情有什么建议吗?我感觉这是Visual Studio的某种错误,但我感到惊讶的是,如果是这样的话,它已经存在了很长时间。我不可能是唯一经历过这种事情的人。顺便说一句,它不只是“我”;它也是任何其他开发商。再说一次,一旦这对于一个特定项目是一个问题,那似乎永远就是那个项目的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...