我正在尝试构建我的C#项目,并且我收到错误消息“命名空间不直接包含诸如字段或方法之类的成员”。它正在标记app.config文件的第一个字符(小于符号)。
我已经检查了所有文件,找到了直接在命名空间内有变量或函数的地方 - 什么也没找到。 app.config看起来很好。
谷歌让我失望了,我把头发拉了出来。可能导致此错误的原因是什么?答案 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";
}
}
}