【问题标题】:apply common namespace from web.config to app_code class file将 web.config 中的公共命名空间应用到 app_code 类文件
【发布时间】:2010-11-14 17:45:30
【问题描述】:

我对 asp.net 环境比较陌生。

最近在做一个项目,发现一个问题

即我必须将 using system.io 添加到任何页面中的所有文件函数中。使用 sql 函数也一样 即,该命名空间的任何方法都必须像

一样完整使用
System.IO.FileStream fs = null;

代替

FileStream fs = null;

所以简而言之,它不仅需要更多的输入时间,而且很难记住某些方法背后的命名空间。

不过我找到了解决办法。

通过在 web.config 中添加以下部分,我的所有页面都会自动访问该命名空间

<namespaces>

        <add namespace="System.Data"/>
        <add namespace="System.Data.SqlClient"/>
        <add namespace= "MySql.Data.MySqlClient"/>
        <add namespace="System.IO"/>
</namespaces>

解决了上述问题。我现在面临一个新的。我的应用程序在 app_code 文件夹中有许多代码页。 在 app_code 文件夹中,我的所有页面都需要以下标题

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.IO;

您可能会感到困惑,为什么放在 web.config 中的声明不适用于放置在此文件夹中的类。它们是同一个 Web 应用程序的一部分。现在我必须在所有文件中处理好这一点。

如果有人能分享有关如何在 app_code 文件夹中使用公共命名空间的信息,我将不胜感激。

【问题讨论】:

    标签: c# asp.net namespaces web-config app-code


    【解决方案1】:

    您不能,根据文档,using directive 是每个文件:

    using 指令的范围仅限于它出现的文件。

    但是有一个快捷方式可以将所需的 using 指令添加到文件中。
    如果您键入的内容不在当前使用的范围内,您会在第一个字母下方看到一个蓝色下划线,将鼠标移到那里并单击以获取弹出菜单(或按 CTRL+.),在菜单中选择“using ...”,Visual Studio 会自动在文件顶部插入正确的 using 语句。

    【讨论】:

      【解决方案2】:

      我相信这是由于 App_Code 的特殊性质。因为 App_Code 中的文件通常是类文件(即不是 web 表单、用户控件等,只是代码文件),所以它们都是使用特定语言编译器(csc.exe 或 vbc.exe)编译的。项目中的其他页面(这次是所有 Web 表单等)都是使用 ASP.NET 编译器编译的,该编译器考虑了 web.config 文件的内容。

      【讨论】:

        猜你喜欢
        • 2016-07-24
        • 1970-01-01
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多