C# Visual Studio 2013将我的文件解释为表单文件

C# Visual Studio 2013将我的文件解释为表单文件,c#,visual-studio-2013,C#,Visual Studio 2013,我使用一个类创建简单的cs文件: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace Bed { public class TimeoutWebClient : WebClient { protected override Web

我使用一个类创建简单的cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace Bed
{
    public class TimeoutWebClient : WebClient
    {
        protected override WebRequest GetWebRequest(Uri uri)
        {
            WebRequest w = base.GetWebRequest(uri);
            w.Timeout = 30 * 1000;
            return w;
        }
    }
}
突然,我的visual studio将其解释为一个表单类。。我哪里出错了

以下是我使用的版本:

Microsoft Visual Studio Ultimate 2013
版本12.0.21005.1 REL
Microsoft.NET Framework
版本4.5.50938


我不确定这是怎么发生的,但我就是这样解决的:

  • 右键单击项目并选择“卸载”
  • 右键单击项目并选择“编辑”
  • 在文件“TimeoutWebClient”中查找
我希望你能找到这样的东西:

 <ItemGroup>
    <Compile Include="TimeoutWebClient.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="TimeoutWebClient.Designer.cs">
      <DependentUpon>TimeoutWebClient.cs</DependentUpon>
    </Compile>
    <!-- other files go here -->

形式
TimeoutWebClient.cs
删除
子类型
标记。如果还想撤消任何依赖项,请同时删除
标记

保存项目文件,右键单击它并选择“重新加载”。

验证您是否实现了所需功能。

在代码中扩展此基类时,Visual Studio将其解释为
WebClient
。当您扩展
Form
class时,也会发生同样的情况-VS会将其解释为Form并将其显示为Form。
但它不会影响你的发展。正如您在打印屏幕上看到的,您可以通过右键单击并选择“查看代码”选项来访问代码。

仅在项目文件中:

<Compile Include="TimeoutWebClient.cs">
  <SubType>Component</SubType>
</Compile>

组成部分

您需要删除子类型标记以修复

解决方案工作,但它是临时的,VS重新启动后再次添加子类型。。有什么想法吗?