Ошибка «Пространство имен напрямую не содержит таких участников, как поля или методы»
-
21-09-2019 - |
Вопрос
Я пытаюсь создать свой проект C#, и я получаю сообщение об ошибке «Пространство имен напрямую не содержит таких участников, как поля или методы». Он отмечает первый символ (меньший символ) файла app.config.
Я проверил все свои файлы для мест, где есть переменные или функции, непосредственно внутри пространства имен-ничего не наказывающего. App.config выглядит нормально.
Google подводит меня, и я вытаскиваю волосы. Что может вызвать эту ошибку?
Решение
Фигуры! Как только я наконец сломаюсь и задаю вопрос, что я нахожу ответ ...
В разделе «Свойства файла файла app.config» (каким -то образом) перечисляется действие сборки «компиляции», когда его следует установить на «Нет».
Как в мире это изменилось? Я знаю, что не изменил это. Grrr ...
Ну что ж, по крайней мере, сейчас это здание. Надеюсь, кто -то еще выиграет от моего волос.
Другие советы
Мне удалось воспроизвести ошибку.
Проверьте свойства файла app.config. А Build Action
должно быть None
, нет Compile
.
Эта ошибка возникает, когда вы пытаетесь добавить поле или член непосредственно в пространство имен. Учитывая, что он указывает на app.config, вероятно, что VS находится в плохом состоянии. Попробуйте закрыть и открыть Visual Studio и посмотрите, исчезнет ли ошибка.
Выйти из строя, попытайтесь восстановить и публиковать результаты из окна вывода сборки до вашего вопроса.
Я решил таким образом: щелкните правой кнопкой мыши.
У меня была та же ошибка. Проверил, если app.config не было установлено, нет проблем. После 30 минут проверки и перепроверки я перезапустил против, и это сделало это. Обычно это решает 90% неоткрытых ошибок. Вздыхает.
У меня была похожая проблема с кодом, стоящим за моим веб -сайтом. Проблема оказалась дополнительной заключительной кронштейном, из -за которого мой класс зашел сразу после Page_Load (). Всегда проверяйте наличие глупых синтаксических ошибок, подобных этому.
Я столкнулся с той же проблемой с XML -файлом. Это было связано с тем, что компилятор .NET попытался скомпилировать этот XML, который использовался только для целей данных, поэтому не нуждается в компиляции.
Исправление: перейдите к свойству этого файла и измените действие сборки на контент с компиляции.
Спасибо
В моем случае я по ошибке ставил новую функцию вне класса контроллера. Это был мой код в ASP.NET MVC, который давал эту ошибку.
public class HomeController : Controller
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
}
[HttpPost]
public string Insert(string name, string age, string standard, string percent, string address, string status)
{
//some code
return "value";
}
}
Это должно быть похоже на:
public class HomeController : Controller
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
[HttpPost]
public string Insert(string name, string age, string standard, string percent, string address, string status)
{
//some code
return "value";
}
}
}