1

我对 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 文件夹中拥有公共命名空间的信息,我将不胜感激。

4

2 回答 2

0

你不能,根据文档,using指令是每个文件:

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

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

于 2010-11-14T18:07:35.557 回答
0

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

于 2010-11-14T19:12:14.370 回答