为什么roslyn在ASP.NET C#类文件中抛出RCS1110警告?

时间:2018-01-12 17:35:40

标签: c# asp.net visual-studio-2017 roslyn

我们正在从头开始重建VS 2017中的代码结构,我们的主管已经确定我们需要在代码分析中提交所有代码而不会出现编译错误或警告。由于我们的旧代码库是最近更新为.net 3.5的.net 2.0,对我们的网站进行了一些小的补充,我们在VS中整合了对我们大多数人来说都是新手的工具和功能。  在ASP.NET Web应用程序中,向项目添加新的aspx页面时,它会自动配置后面的代码,在标记中设置Inherits值,并像往常一样创建公共的分部类。

public partial class webforms_divTableTest : System.Web.UI.Page
{
}
<%@ Page Language="C#" MasterPageFile="~/MenuMaster.master" AutoEventWireup="true" CodeFile="divTableTest.aspx.cs" Inherits="webforms_divTableTest" %>

一旦我构建项目,它就会在每个页面集上抛出此警告:

RCS1110 Declare 'webforms_divTableTest' inside namespace.   

这给我留下了几个问题:

  1. 为什么不首先在模板中设置这个?
  2. 在传统的“一体化表单”网站上有什么意义(例如,没有模板化或分割成比通常使用的主页网站更多的文件)?
  3. 为什么Quick Action修复程序以破坏C#文件中所有代码的方式添加命名空间声明?
  4. 我应该如何添加/修复命名空间,以便在aspx文件中引用时我的cs代码仍然有效?

1 个答案:

答案 0 :(得分:0)

显然我可以这样做:

namespace divTableTest
{
  public partial class webforms_divTableTest : System.Web.UI.Page
  {
  }
}

并将我的aspx更改为:

inherits="divTableTest.webforms_divTableTest"

编译器和代码分析不再抱怨。我的其余问题仍然存在。