【发布时间】:2013-04-20 00:59:59
【问题描述】:
我已经在一个新的 Intranet 网站上工作了几个星期,一切都按预期工作。如果我对我的 .aspx 页面进行任何更改(添加原始文本、新控件等),然后在 VS(F5) 中对其进行测试,所有更改都会立即反映在浏览器中。任何像添加 <br> 标记这样简单或像添加一组嵌套控件这样复杂的东西都会在调试重新启动时显示出来。
今天早些时候,一切正常。然后我决定我想玩一些 AjaxControlToolkit 的好东西。我最终安装了今天发布的用于 VS 的 SP1 Update 2 (http://www.microsoft.com/en-us/download/details.aspx?id=38188),同时还更新了 NuGet 并从那里安装了 AjaxControlToolkit。
我添加了几个工具,包括一个 ScriptManager 和一个 UpdatePanel,一切都按我的预期工作。然后我进行了一些更改,并意外添加了第二个 ScriptManager。当我去调试/运行时,它当然失败了,因为一个页面上不能有多个,所以我删除了多余的一个并再次运行。它再次给出了同样的失败。我检查并确保我没有不小心在某个地方添加了另一个,对我项目中的所有文件进行了搜索,这是它的唯一实例,所以我将它注释掉并再次运行它。一样。我尝试了一些方法,最终重新启动了 IIS 和 VS,然后页面的行为符合预期。
从那时起,我在项目中的任何文件中所做的任何更改都不再更新,除非退出 IIS 并重新启动它。项目中新的、非常基本的 aspx 或 html 文件执行相同的操作。然后,我在更新 VS 之前恢复到还原点,并使用了我添加 AjaxControlToolkit 前一天早些时候的网站备份,但问题仍然存在。
这里发生了什么?我觉得它与 VS 更新有关,但这似乎没有任何意义。我看不到这样一个重大错误被忽视了吗?为什么 IIS 不为更新的页面提供服务?
浏览器中的 Ctrl+F5 不反映更改。整个解决方案的重建不反映更改。关闭和重新打开浏览器不会反映更改。更改我的 web.config 不会反映更改。创建一个全新的空网站,问题仍然存在。更改为 Visual Studio 开发服务器而不是 IIS,问题仍然存在。
我发现强制正确、更新的页面正确提供服务的唯一方法是在 IIS 中“停止站点”然后重新启动,这对于检查页面中任何内容的细微更改实在是太麻烦了。
我正在使用 Visual Studio 2012 Express、IIS Express、.NET 4.0、C# 代码隐藏,文件位于 Intranet 文件系统(映射到 x:) 上,与我的实际生产托管服务器分开。
以防万一(尽管我认为这并不重要,因为即使使用新的网站也会出现问题)这里是我的 web.config(这是非常基本的):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off" />
<httpRuntime />
<pages>
<controls>
<add tagPrefix="ttw" src="~/Controls/CustomerInformation.ascx" tagName="CustInfo" />
<add tagPrefix="ttw" src="~/Controls/CircuitInformation.ascx" tagName="CktInfo" />
</controls>
</pages>
</system.web>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=EmulateIE9" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
任何建议都将不胜感激,我希望解决方案能够帮助其他可能在最近更新后遇到相同问题的人。
【问题讨论】:
-
尝试删除Windows下Microsoft.Net文件夹下的Temporary ASP.NET Files。手边没有链接,但去 google 并找到处理此问题的正确方法。对不起,赶时间,得走了。祝你好运!!
-
我不在 Express 中工作,但如果您可以在
I am using Visual Studio 2012 Express, IIS Express, .NET 4.0, C# code-behind, files are on an intranet file system (mapped to x:), separate from my actual production hosting server上扩展一点?如何更新应用程序(bin 代码)?您可能正在运行原始的 bin 部署代码?网站与 Web 应用程序?你是如何发布/部署的? -
@EdSF 我使用 Visual Studio 中的复制网站工具推送到生产服务器。在这种情况下它并不真正相关,因为在站点经过测试之前我不会推送到产品服务器,而且自从今天出现这个问题以来,我什至没有达到这一点。从一个空的网站开始,只使用 aspx 网络表单。
-
@Jaxidian 这是一种解决方法,但是在每次调试之间清除临时文件比重新启动 IIS 更烦人。同样,这在 VS/NuGet 更新之前运行良好,没有任何问题,并且持续到全新的站点。
-
有意思,这个问题解决了吗?
标签: c# asp.net asp.net-4.0 iis-express visual-studio-express