我一直在尝试在C#.NET上创建这个控制台应用程序但是我收到此错误消息:
错误1预期的类,委托,枚举,接口或结构
我是C#的新手,之前我做过C ++。
主要文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public void Main(string[] args)
{
string repositories = args[0];
string transaction = args[1];
var processStartInfo = new ProcessStartInfo
{
FileName = "svnlook.exe",
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardError = true,
Arguments = String.Format("log -t \"{0}\" \"{1}\"", transaction, repositories)
};
var p = Process.Start(processStartInfo);
var s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
if (s == string.Empty)
{
Console.Error.WriteLine("Message must be provided");
Environment.Exit(1);
}
Environment.Exit(0);
}
答案 0 :(得分:8)
主要需要是静态的。
public static void Main
此外,您需要将其包装到其中包含类的命名空间中。 VS 2010提供的标准控制台应用程序模板如下所示,您可以查看它:
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
}
}
}
答案 1 :(得分:3)
您缺少程序中的课程=)。 Asweel作为命名空间。那么主虚空应该是静态方法
namespace MyApplication
{
static class Program
{
static void Main()
{
}
}
}
答案 2 :(得分:3)
C#中的每个方法都必须包含在class
或struct
中。没有办法在C#中定义独立(“顶级”)函数。
尝试:
public class Program
{
public static void Main(string[] args)
{
最后还有一个}
。
如果您来自C ++背景,正如您所指出的那样,您也不应该认为struct
和class
具有与C ++相同的相同点和不同点。
答案 3 :(得分:2)
首先,您是在类或结构中包含该方法吗?
您必须声明包含在类或结构中的方法,因为方法不是根成员。
答案 4 :(得分:1)
主要需要是静态的,并且在课堂内:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
string repositories //...
答案 5 :(得分:1)
C#中的函数必须位于类或结构中。只有委托,类,结构,枚举和接口才能存在于命名空间级别。
public static class MyClass
{
public static void Main (string[] paArguments) { /* ... */ }
}