2013-04-25 31 views
6

我一直在为一个新的Intranet网站工作几个星期,现在一切都按预期工作。如果我对.aspx页面进行了任何更改(添加了原始文本,新控件等),然后在VS(F5)中对它们进行了测试,则所有更改都会立即反映在浏览器中。只要添加一个<br>标签或像添加一组嵌套控件一样简单,只要调试重新启动就会显示出来。ASP.NET网站页面没有反映最近的变化

今天早些时候,一切正常。然后我决定我想玩一些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> 

任何建议将不胜感激,我希望解决方案能够帮助其他人在最近更新后遇到同样的问题。

+1

尝试删除Windows下的Microsoft.Net文件夹下的Temporary ASP.NET Files。没有方便的链接,但去谷歌找到正确的方法来处理这个。对不起,急着,得走了。祝你好运!! – Jaxidian 2013-04-25 23:54:02

+0

我不在Express中工作,但如果您可以扩展更多*'我正在使用Visual Studio 2012 Express,IIS Express,.NET 4.0,C#代码隐藏,文件位于Intranet文件系统上(映射到x :),与我的实际生产托管服务器*分开?如何更新应用程序(bin代码)?你可能运行原始的bin部署代码?网站与Web应用程序?你如何发布/部署? – EdSF 2013-04-26 00:18:33

+0

@EdSF使用Visual Studio中的复制网站工具将其推送到生产服务器。在这种情况下它并不是真正相关的,因为在网站经过测试之前,我不会推送到产品服务器,而且我自己现在还没有到达这一点。从一个空的网站开始,只使用aspx网页表单。 – Chris 2013-04-26 00:55:22

回答

0

听起来像一个权限问题。映射的网络驱动器使用的权限不足,或者IIS应用程序池标识对该文件夹没有权限。