Не удалось найти тип или пространство имен (веб-сайт) - PullRequest
1 голос
/ 01 августа 2009

Я создал проект ASP.NET Web App, и теперь он правильно собирается и работает. Однако я пытаюсь добавить этот проект на свой сайт. Поэтому я создал новый веб-сайт из VS, а затем добавил все файлы .CS из моего проекта веб-приложения на этот веб-сайт.

Несмотря на то, что проект веб-приложения успешно создается, когда я использую этот же код на своем веб-сайте и собираю его, я получаю сообщение об ошибке:

Тип или имя namespacae имя «ADONET_namespace» не может быть найден (вам не хватает директивы пользователя или ссылка на сборку?)

Вот верхняя часть моего файла master.cs:

using System;
using System.Collections.Generic;
using System.Collections;

namespace AddFileToSQL
{
    public partial class _Default : System.Web.UI.Page
    {

И верхняя часть моего файла ADONET_methods.cs:

using System;
using System.Collections;
using System.Data;

namespace ADONET_namespace
{
    public class ADONET_methods : System.Web.UI.WebControls
    {

Наконец вершина моего детского класса:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using ADONET_namespace;

namespace AddFileToSQL
{
    public partial class DataMatch : _Default
    {

В этом файле дочернего класса есть волнистая строка под ADONET_namespace, и при наведении на нее возвращается ошибка, указанная выше. Этот файл ADONET_methods.cs хранится в том же формате файловой структуры на этом веб-сайте, что и в моем проекте веб-приложения. Так что, если он успешно собирается в этом проекте, почему не на этом веб-сайте?

Я искал в Stack Overflow похожие вопросы и нашел один вопрос, который задавал то же самое, что и я, но я попробовал все решения, перечисленные там. Я также погуглил эту проблему и перепробовал все предложения, но ни одно из них не сработало. И я добавил этот файл ADONET_methods.cs в разные места на этом веб-сайте, чтобы проверить, был ли он найден, например, в папке App_Data, папке References, а также на том же уровне, что и другие файлы .CS (например, находится в проекте веб-приложения).

Что еще я могу попробовать? Кстати, этот код написан на C # в VS 2008 и работает на XP Pro с IIS6 Manager.

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

Для каждого кода, например: .cs-файла в папке App_Code, убедитесь, что для свойства «Build Action» установлено значение «Компилировать», а не «Содержимое» или что-либо еще.

0 голосов
/ 01 августа 2009

Не уверен, вызывает ли это какие-либо проблемы, но вы хотите, чтобы ваш класс в файле ADONET_methods.cs имел имя ADONET_namespace? Кажется странным иметь как класс, так и пространство имен с одним и тем же именем.

0 голосов
/ 01 августа 2009

Попробуйте поместить его в каталог App_Code.

...