我正在尝试构建我的C#项目,但是遇到了错误信息"A namespace does not directly contain members such as fields or methods"。它将app.config文件的第一个字符(小于号符号)标记为错误。
我已经检查了所有文件,查找命名空间中直接包含变量或函数的地方,但没有发现问题。 app.config看起来也没问题。
谷歌无法给我答案,我很苦恼。这个错误是什么原因导致的呢?
我正在尝试构建我的C#项目,但是遇到了错误信息"A namespace does not directly contain members such as fields or methods"。它将app.config文件的第一个字符(小于号符号)标记为错误。
我已经检查了所有文件,查找命名空间中直接包含变量或函数的地方,但没有发现问题。 app.config看起来也没问题。
谷歌无法给我答案,我很苦恼。这个错误是什么原因导致的呢?
结果!就在我终于迈出了询问问题、寻找答案的一步后...
app.config文件中的属性部分(不知何故)将构建操作设置为“编译”,而应该设置为“无”。
这到底是怎么改变的?我知道我没有改过它。咕噜咕噜...
不管怎样,至少现在已经能够构建了。希望其他人也能从我的掉发中受益。
.cs
,然后将其重命名为.ts
,那么TypeScript也会出现这种情况。 - Simon_Weaver我成功地重现了这个错误。
检查app.config文件的属性。 Build Action
应该是 None
,而不是 Compile
。
我遇到了同样的错误。检查了一下 app.config 是否设置为 none,没有问题。经过 30 分钟的反复检查,我重新启动了 VS,问题就解决了。这通常可以解决 90% 的不合逻辑的错误。唉。
当您尝试直接将字段或成员添加到命名空间中时,会出现此错误。由于它指向了app.config,很可能是VS处于不良状态。尝试关闭并重新打开Visual Studio,看看错误是否消失。
如果仍然失败,请尝试重新构建并将构建输出窗口的结果发布到您的问题中。
我曾经遇到过与XML文件相关的同样问题。这是由于.net编译器试图编译此仅用于数据目的的xml,因此无需编译。
解决方法:转到此文件的属性并将“生成操作”从编译更改为内容。
谢谢
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";
}
}
}