从web.config应用common名称空间到app_code类文件
-
10-10-2019 - |
题
我是ASP.NET环境的新手。
最近从事一个项目,我发现了一个问题
即,我必须在任何页面中的所有文件函数中添加使用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文件夹中拥有通用名称空间的信息,我会很感激。
解决方案
您不能根据文档 using
指示 是每个文件:
使用指令的范围仅限于显示的文件。
但是,有一个快捷方式要添加使用指令到文件中。
如果您在使用电流中输入不在电流中的内容,则在第一个字母下键入蓝色下划线,然后将鼠标移动到那里,然后单击以获取弹出菜单(或按下 Ctrl+.),在菜单中,选择“使用...”和Visual Studio自动使用文件顶部的语句插入正确的内容。
其他提示
我相信这是由于app_code的特殊性质。由于App_Code中的文件通常是类文件(即不是WebForms,用户控件等,仅是代码文件),因此它们仅使用特定的语言编译器(csc.exe或vbc.exe)编译。项目中的其他页面(这次所有WebForms等)都与ASP.NET编译器一起编译,该编译器考虑了Web.config文件的内容。