применить общее пространство имен из web.config к файлу класса app_code - PullRequest
1 голос
/ 14 ноября 2010

Я относительно новичок в среде 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, не работают для классов, размещенных в этой папке. Они являются частью одного веб-приложения. Теперь я должен позаботиться об этом и во всех документах.

Я был бы благодарен, если бы вы могли поделиться информацией о том, как иметь общие пространства имен в папке app_code.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2010

Я полагаю, это связано с особым характером App_Code.Поскольку файлы в App_Code, как правило, являются файлами классов (т.е. не веб-формами, пользовательскими элементами управления и т. Д., А просто файлами кода), все они компилируются только с помощью специальных языковых компиляторов (csc.exe или vbc.exe).Другие страницы проекта (на этот раз все веб-формы и т. Д.) Компилируются с помощью компилятора ASP.NET, который учитывает содержимое файла web.config.

0 голосов
/ 14 ноября 2010

Вы не можете, согласно документации, директива using для файла:

Область действия директивы using ограничена файлом, в котором она появляется.

Но есть ярлык для добавления требуемой директивы в файл.
Если вы наберете что-то, чего нет в текущем использовании, вы получите синее подчеркивание под первой буквой, переместите туда мышь и щелкните, чтобы открыть всплывающее меню (или нажмите CTRL + . ) , в меню выберите «использование ...», и Visual Studio автоматически вставит правильный оператор использования в верхней части файла.

...