Применить общее пространство имен из web.config к файлу класса 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, не работают для классов, размещенных в этой папке. Они являются частью того же веб -приложения. Теперь я должен позаботиться об этом и во всех документах.
Я был бы благодарен, если бы можно было поделиться информацией о том, как иметь общие пространства имен в папке APP_CODE.
Решение
Вы не можете, согласно документации using
директива по файлу:
Область использования директивы ограничена файлом, в котором он появляется.
Но есть ярлык для добавления, требуемый с использованием директивы в файл.
Если вы вводите что -то, чего нет в текущем использовании, вы получите синий подчеркивание под первой буквой, переместите там мышь и нажмите, чтобы получить всплывающее меню (или нажмите Ctrl+.), в меню, выберите «Использование ...», а Visual Studio автоматически вставляет правильный с помощью оператора в верхней части вашего файла.
Другие советы
Я считаю, что это связано с особой природой app_code. Поскольку файлы в app_code обычно являются файлами класса (то есть не веб -формами, элементами управления пользователями и т. Д., Просто файлы кода), все они составлены только с конкретными языковыми компиляторами (CSC.Exe или VBC.Exe). Другие страницы в проекте (на этот раз все веб -формы и т. Д.) Скомпилированы с компилятором asp.net, который учитывает содержимое файла web.config.