【问题标题】:How to add namespaces in web.config file?如何在 web.config 文件中添加命名空间?
【发布时间】:2011-11-27 00:59:13
【问题描述】:

我正在使用 VS 2008 和 C#,但是当我在 web.config 文件中添加命名空间时,该命名空间未导入或包含在 code behind or aspx
我也阅读了this 的问题,但没有得到所需的答案。

web.config 代码

<configuration>
 <system.web>
    <pages>
      <namespaces>
        <add namespace="System.Data" />
        <add namespace="System.Text"/>
      </namespaces>
    </pages>  
  </system.web>
</configuration>

【问题讨论】:

    标签: c# visual-studio-2008 namespaces web-config


    【解决方案1】:

    您需要将它们放入正确的&lt;system.web&gt; 部分。例如:

    <configuration>
      <system.web>
        <pages>
          <namespaces>
            <add namespace="System.Data" />
            <add namespace="System.Text"/>
          </namespaces>
        </pages>  
      </system.web>
    </configuration>
    

    将它们放入正确的 web.config

    即第二个web.config 文件是Views 文件夹,专门针对视图。这些设置不在 root web.config 中。

    这些设置的目的是使库可用于 ASPX 页面(例如用于 Intellisense),而不用于代码隐藏。您仍然需要在实际代码中包含 using 语句,因为这只是普通的 c# 编程。

    【讨论】:

    • 您是否真的希望它们出现在您的 ASPX 文件的文本中?如果是这样,那不是他们的目的。使用配置设置,您不再需要在 ASPX 文件中包含这些 DLL(仅在后面的代码中)。
    • @Chris Lively:那么在 web.config 文件中添加命名空间的目的是什么?
    • @jams - 如果您需要将命名空间添加到 每个 页面,这将自动导入它们。无需额外的导入。
    • @Oded:这是code behind上没有导入的问题。
    • @ChrisLively - 不应该。它是@ import 指令的替代品(仅适用于.aspx 页面,不适用于后面的代码)。请参阅documentation
    【解决方案2】:

    命名空间部分的目的是避免在 .aspx 页面中进行导入。 C# 中的代码隐藏仍然要求您在 .cs 文件的顶部有 using 语句。

    没有办法解决这个问题。

    【讨论】:

    • 您的意思是 using statements 而不是 the imports directive 用于 cs 文件:)
    • @TrueBlueAussie:嗯...是的,这将是正确术语.. ;)
    猜你喜欢
    • 2014-07-17
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 2012-09-15
    • 2010-10-30
    相关资源
    最近更新 更多