我已经在一个新的Intranet网站上工作了几个星期,一切都按预期工作。如果我对我的.aspx页面进行了任何更改(添加了原始文本,新控件等),然后在VS(F5)中对它们进行了测试,则所有更改都会立即反映在浏览器中。添加<br>
标签或添加一组嵌套控件这样复杂的任何操作都会在调试重启时显示。
今天早些时候,一切正常。然后我决定想要玩一些AjaxControlToolkit好东西。我最终安装了今天发布的VS 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>
我们非常感谢任何建议,我希望在最近的更新后,解决方案可以帮助其他可能遇到相同问题的人。
答案 0 :(得分:0)
听起来像权限问题。映射的网络驱动器使用的凭据没有足够的权限,或者IIS应用程序池标识没有该文件夹的权限。