【问题标题】:Two "Website" Namespaces?两个“网站”命名空间?
【发布时间】:2017-03-02 03:21:29
【问题描述】:

将 ASP.NET 4.6 与 WebForms 结合使用。在 App_Code 中创建了一个名为 Settings 的静态类:

public static class Settings
{
    // ... code ...
}

当尝试从 App_Code 文件夹中的其他静态类访问时:

还注意到我有两个网站上下文:

尝试将设置类放在命名空间“网站”中;仍然有同样的问题。只有当我声明类时问题才会解决:

internal static class Settings
{
    // ... code ...
}

我怀疑我在命名空间的某个地方做错了;但我不确定是什么/在哪里。是什么导致解决方案二有两个“网站”命名空间?

进一步挖掘后,我发现有两个网站“容器”——不是命名空间。

命名空间的引用视图:

“容器”的参考视图:

仍在深入研究以解决这个问题...

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    您没有 2 个网站上下文,下拉列表显示您的“当前选择”上下文和“可用”上下文。命名空间“网站”不存在,这只是您的网站项目名称。

    当您了解您的网站所在的命名空间时(如果您在网站中创建了一个新类并将鼠标悬停在它上面,Intellisense 会告诉您。),只需将您的静态属性包围在同一个命名空间中即可。

    另一种方法是定义一个新的命名空间来保存您的静态成员,然后从您的网站引用该命名空间。

    【讨论】:

    • 在无法引用的设置类下,下拉菜单有一个选项 - “网站”。但在所有其他现有类(正在工作)中,下拉菜单有两个选项“网站”和“网站”(参见上面的更新图像)。
    • 看起来我有两个网站“容器”——不是命名空间;见上面的编辑。
    【解决方案2】:

    文件本身的“构建操作”设置为“内容”而不是“编译”。出于某种原因,我在此解决方案中的项目中添加了一个新类,它们默认为“内容”。一旦我开始编译,我就回到了一个单一的“网站”容器,一切正常。

    【讨论】:

      猜你喜欢
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 2011-03-08
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多