错误“命名空间不直接包含字段或方法等成员”

时间:2010-01-19 01:01:30

标签: visual-studio namespaces buildaction

我正在尝试构建我的C#项目,并且我收到错误消息“命名空间不直接包含诸如字段或方法之类的成员”。它正在标记app.config文件的第一个字符(小于符号)。

我已经检查了所有文件,找到了直接在命名空间内有变量或函数的地方 - 什么也没找到。 app.config看起来很好。

谷歌让我失望了,我把头发拉了出来。可能导致此错误的原因是什么?

8 个答案:

答案 0 :(得分:57)

图!一旦我最终崩溃并问我找到答案的问题......

app.config文件属性部分(以某种方式)列出了“编译”的构建操作,它应该设置为“无”。

世界如何改变它?我知道我没有改变它。哎呀...

哦,好吧,至少它正在建设中。希望其他人能从我的hairloss中受益。

答案 1 :(得分:5)

我设法重现错误。

检查app.config文件的属性。 Build Action应该是None,而不是Compile

答案 2 :(得分:0)

当您尝试将字段或成员直接添加到命名空间时,会发生此错误。鉴于它指向app.config,VS很可能处于不良状态。尝试关闭并重新打开Visual Studio,看看错误是否消失。

未能尝试重建并将构建输出窗口中的结果发布到您的问题中。

答案 3 :(得分:0)

I solved this way: right click on .axml file -> Build Action ->AndroidResource (xamarin studio)

答案 4 :(得分:0)

我有同样的错误。检查app.config是否设置为none,没有问题。经过30分钟的检查和重新检查后,我重新启动了VS,这就完成了。它通常可以解决90%的非逻辑错误。叹息。

答案 5 :(得分:0)

我的网站背后的代码遇到了类似的问题。 问题结果是一个额外的结束括号,导致我的类在page_load()之后结束。总是检查这样的愚蠢的语法错误。

答案 6 :(得分:0)

我在使用XML文件时遇到了同样的问题。这是因为.net编译器试图编译这个xml,它只用于DATA目的,因此不需要编译。

修复:转到此文件的属性,并将Build Action更改为编译内容。

由于

答案 7 :(得分:0)

在我的情况下,我错误地将一个新函数放在控制器类之外。 这是我在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";
        }       
    }        
}