37

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

我检查了所有文件中是否存在直接在命名空间内的变量或函数的位置——什么也没找到。app.config 看起来不错。

谷歌让我失望了,我正在拔头发。什么可能导致此错误?

4

8 回答 8

57

数据!当我终于崩溃并提出我找到答案的问题时...

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

它到底是如何改变的?我知道我没有改变它。呃……

哦,好吧,至少它现在正在建设中。希望其他人会从我的脱发中受益。

于 2010-01-19T01:05:01.507 回答
5

我设法重现了错误。

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

于 2010-01-19T01:07:15.197 回答
0

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

如果失败,请尝试重新构建并将构建输出窗口中的结果发布到您的问题中。

于 2010-01-19T01:03:31.090 回答
0

我这样解决了:右键单击 .axml 文件 -> 构建操作 -> AndroidResource (xamarin studio)

于 2015-06-15T15:01:03.867 回答
0

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

于 2015-08-21T09:20:09.620 回答
0

我的网站后面的代码也有类似的问题。这个问题原来是一个额外的右括号,导致我的课程在 page_load() 之后立即结束。总是检查像这样的愚蠢的语法错误。

于 2015-12-16T18:42:28.690 回答
0

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

修复:转到此文件的属性并将构建操作更改为从编译的内容。

谢谢

于 2016-10-20T15:21:34.513 回答
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";
        }       
    }        
}
于 2017-01-27T10:07:28.860 回答