asp.net - 在 IIS 7.5 下调试时生成的程序集与源不匹配的问题

标签 asp.net visual-studio visual-studio-2010 iis iis-7.5

在 Windows 7 和 Visual Studio 2010 下,我在调试配置为使用 IIS 进行调试的 Web 表单应用程序时遇到问题。刚刚发生了一个示例,我在其中更改了 Web 表单背后的代码,保存,显然在使用 F5 启动应用程序之前重建。

应用程序启动,我收到一条错误消息,试图在应用程序中执行某些操作。我告诉调试器在抛出异常时中断并再次尝试我的任务,只是被告知

源文件与构建模块时不同。

其中模块是C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\9d7b45ca\11a98b19\assembly\dl3\5e6cf0b2\636409d4_dfeecb01\PerfixEMS_Admin.DLL
我的测试网站的物理文件夹设置为 Web 应用程序项目的源文件夹,所以我一直假设 IIS 会在 bin 中查找所需程序集的文件夹,这些将按预期重建。为什么这没有发生?

最佳答案

Cleaning the solution通常对我有用。

更新

鉴于项目数量众多 (320),我理解为什么 Clean and Build 对您不起作用。但是,您应该至少尝试一次,看看是否可以解决问题。

如果它确实解决了你的问题但没有持续,你需要做两件事之一。

只清理一个文件

删除有问题的临时文件。您可能无法执行此操作,因为 VS 正在运行,因为它可能会锁定 DLL。您可能还必须停止 IIS。您可以使用Process Explorer寻找有锁的进程。

使用自定义解决方案

您不太可能同时修改所有 320 个项目。仅为您正在处理的项目创建自定义解决方案。如果需要,您仍然可以单步执行您拥有 DLL 和 PDB 的任何项目。

做什么

使用自定义解决方案有其问题,因为您不能再对不在您的解决方案中的项目使用项目引用。这会影响您团队的源代码控制。您还必须确保解决方案外部的 DLL 和 PDB 位于稳定的位置,并且您需要一种方法来检测其他项目何时有您关心的更改。

这些问题可以通过仔细 checkin 项目更改和复制文件的脚本以及与团队成员一起找出如何传达更改的脚本来克服。

另一方面,每次更改都关闭 VS 或运行 Clean and build 也不是真正可行的。

关于asp.net - 在 IIS 7.5 下调试时生成的程序集与源不匹配的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501933/

相关文章:

asp.net - 表单提交后如何清除asp.net页面中的所有数据

c# - 旋转 log4net 不会重写相同的日志文件

ios - 无法将Apple帐户添加到Visual Studio 2017

visual-studio-2010 - 如何在opencv中获取灰色图像的强度指标

asp.net - 如何在 ASP.NET Core v2 中传递字符串以及注入(inject)的依赖项

c# - A^=B^=A^=B; C# Visual Studio 中的意外结果

git - VS Merge 工具 merge 结果很糟糕

c# - 如何在 IntelliSense 中按类型过滤?

asp.net-mvc - Windows XP上的Visual Studio 2010突然崩溃,然后停止工作,直到重新安装

asp.net - 如何将内置的网站程序包MS部署到原始IIS网站