我注意到我正在处理的 VS2010 C# 网站项目似乎总是需要一个 iisreset 才能看到我对项目中文件背后的代码所做的更改。我注意到它没有正确版本的程序集,因为当我尝试调试 Visual Studio 时,不允许我在已更改的代码文件中放置断点。
我原以为重新启动应用程序池就足够了,但我们的后期构建步骤做到了这一点,但似乎还不够。
可能是我的机器或项目中没有正确配置导致这种情况发生?
最佳答案
-我假设您运行的是 asp.net 4-
在 web.config 中,这是进行较少编译的调试值
<compilation debug="true" batch="false" optimizeCompilations="true"
defaultLanguage="C#" targetFramework="4.0">
您可以更改batch 或optimizeCompilations,看看您的问题是否已解决。
现在我会告诉你一些我注意到的其他原因。
当你有一个带有默认参数的函数时
foo(int cValueA, int cValueB = 23)
出于某种原因你把它改成了
foo(int cValueA, int cValueB = 23, int cValueC = 34)
或到
foo(int cValueA)
所有使用单个值调用该函数,都无法捕获函数的更新,因此它们使用旧代码。解决这个问题的一种方法,也是我所做的,是搜索对该函数的所有引用,然后打开文件,在末尾添加一个空格并保存,这样我就可以更改文件的日期时间,以便为编译器提供一个请注意,需要更新。
关于c# - 为什么我的机器需要完全重置 IIS 才能看到 ASP.NET 项目的代码更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202370/