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

时间:2014-04-20 10:16:20

标签: 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 WebRequest GetWebRequest(Uri uri)
        {
            WebRequest w = base.GetWebRequest(uri);
            w.Timeout = 30 * 1000;
            return w;
        }
    }
}

我的视觉工作室突然把它解释为一个表格类......我哪里出错?

VS screen

这些是我使用的版本:

  

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

3 个答案:

答案 0 :(得分:3)

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

  • 右键点击该项目,然后选择“卸载'
  • 右键点击该项目,然后选择'编辑'
  • 在文件' TimeoutWebClient'
  • 中找到

我希望你能找到这样的东西:

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

删除SubType标记。如果您还想撤消任何依赖项,也请删除<DependentUpon>标记。

保存您的项目文件,右键单击它并选择“重新加载” 验证您是否达到了所需。

答案 1 :(得分:1)

当您在代码中扩展此基类时,Visual Studio将其解释为WebClient。当你例如同样的情况发生extend Form class - VS会将其解释为表单并将其显示为表单。 它仍然不会干扰你的发展。正如您在打印屏幕上看到的那样,您可以通过右键单击并选择&#34;查看代码&#34;来访问代码。选项。

答案 2 :(得分:0)

rene描述了解决方案,还有一些信息:

仅在项目文件中:

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

您需要删除SubType标记以修复