我对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文件夹中使用公共命名空间的信息,我将不胜感激。
答案 0 :(得分:0)
根据文档,你不能每个文件using
directive:
using指令的范围仅限于它出现的文件。
但是有一条快捷方式可以将所需的using指令添加到文件中 如果你键入的东西不是当前使用的,你会在第一个字母下面得到一个蓝色的下划线,然后在那里移动鼠标并单击以获得一个弹出菜单(或按 CTRL + 。),在菜单中选择“using ...”,Visual Studio会自动在文件顶部插入正确的using语句。
答案 1 :(得分:0)
我认为这是由于App_Code的特殊性质。因为App_Code中的文件通常是类文件(即不是webforms,用户控件等,只是代码文件),所以它们都只使用特定的语言编译器(csc.exe或vbc.exe)编译。项目中的其他页面(这次是所有的webforms等等)都是用ASP.NET编译器编译的,它考虑了web.config文件的内容。