C# Visual Studio在运行Web项目时删除源代码

C# Visual Studio在运行Web项目时删除源代码,c#,visual-studio-2013,C#,Visual Studio 2013,我正在将一个Web项目从Windows XP/Visual Studio 2010升级到Windows 8.1和Visual Studio 2013。当我这样做的时候,我会得到一个迁移报告,其中显示了两个警告和15条其他消息,这些消息似乎都没有任何后果。然后,我将web项目的目标框架调整为4.5.1并运行该项目 这将按我的预期显示网页,但与网页的任何交互(例如,在下拉列表中选择新项目)都会导致错误:- HTTP错误405.0-不允许使用方法 您正在查找的页面 无法显示,因为正在使用无效的方法(H

我正在将一个Web项目从Windows XP/Visual Studio 2010升级到Windows 8.1和Visual Studio 2013。当我这样做的时候,我会得到一个迁移报告,其中显示了两个警告和15条其他消息,这些消息似乎都没有任何后果。然后,我将web项目的目标框架调整为4.5.1并运行该项目

这将按我的预期显示网页,但与网页的任何交互(例如,在下拉列表中选择新项目)都会导致错误:-

HTTP错误405.0-不允许使用方法

您正在查找的页面 无法显示,因为正在使用无效的方法(HTTP谓词) 用过

试图找出原因,我发现所有的源代码(.aspx文件、.cs文件、.config文件和.css文件)都丢失了。幸运的是,我可以从迁移过程所做的备份中恢复它们,但这仍然相当令人担忧。有人能告诉我如何预防吗?什么项目设置可能负责

编辑在第一次显示网页后,我尝试将代码复制回项目目录。在下拉列表中选择一个新项目,然后工作,但再次删除源代码。因此,HTTP错误似乎是页面在回发过程中实际丢失的结果

无法显示您正在查找的页面,因为无效的 正在使用方法(HTTP谓词)

原因1

出现此问题的原因是客户端使用不符合HTTP规范的HTTP方法发出HTTP请求

分辨率:

确保客户端发送包含有效HTTP方法的请求。要执行此操作,请执行以下步骤: 单击开始,在开始搜索框中键入记事本,右键单击记事本,然后单击以管理员身份运行

注意:如果系统提示您输入管理员密码或进行确认,请键入密码或提供确认。 在“文件”菜单上,单击“打开”。在文件名框中,键入
%windir%\system32\inetsrv\config\applicationhost.config
,然后单击打开。 在ApplicationHost.config文件中,找到标记。 确保所有处理程序都使用有效的HTTP方法。 保存ApplicationHost.config文件

原因2:

出现此问题的原因是,客户端通过将POST方法发送到配置为由StaticFile处理程序处理的页面来发出HTTP请求。例如,客户机将POST方法发送到静态HTML页面。但是,为StaticFile处理程序配置的页面不支持POST方法

分辨率:

将POST请求发送到配置为由StaticFile处理程序(例如,ASPClassic处理程序)以外的处理程序处理的页面。或者,更改StaticFile处理程序正在处理的请求,使其成为GET请求而不是POST请求


程序运行时使用旧的临时文件;当它启动时,它会删除它们;它通过删除表单中的所有文件来确定:-

HttpContext.Current.User.Identity.Name + "*.*";
一次删除了所有想要的文件。在新的Windows 8计算机上,
HttpContext.Current.User.Identity.Name
解析为空字符串,其结果不可避免


请原谅我的尴尬。

你能发布你正在访问的任何链接吗?。看看链接格式这个VS 2013有点糟糕。问题太多了。谢谢你的建议;我发现没有解决方案1中所述的路径,并且正如我后来发现的那样(请参见编辑),该错误是.aspx(可能还有其他一些东西)丢失的结果,因此可能是一个误会。