Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 无法在Visual Studio Express 2010中选择主方法作为启动对象?_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 无法在Visual Studio Express 2010中选择主方法作为启动对象?

Visual studio 2010 无法在Visual Studio Express 2010中选择主方法作为启动对象?,visual-studio-2010,Visual Studio 2010,我在我的一个类中编写了一个Main方法。我的启动对象显示未设置。单击它时,下拉菜单中不会显示任何其他内容。为什么我不能选择main方法作为启动对象?我只想通过按ctrl+F7来运行我的Main方法,但这样做时,什么也不会发生。下面是我正在使用的非常简短的主要方法 static void Main(string[] args) { Program c = new Program(); c.consoleread(); } 您的主方法需要是public,static(在VB.NET

我在我的一个类中编写了一个Main方法。我的启动对象显示
未设置
。单击它时,下拉菜单中不会显示任何其他内容。为什么我不能选择main方法作为启动对象?我只想通过按ctrl+F7来运行我的Main方法,但这样做时,什么也不会发生。下面是我正在使用的非常简短的主要方法

static void Main(string[] args)
{
    Program c = new Program();
    c.consoleread();
}

您的主方法需要是
public
static
在VB.NET中共享
),并且具有特定的签名:它必须返回
void
int
,其参数列表必须为空或是
字符串的数组


如果您的方法不符合这些要求,它将无法作为启动对象进行选择。

在将类移动到新名称空间后,我遇到了这个问题。尝试关闭解决方案并手动编辑.csproj文件:

<PropertyGroup>
  <StartupObject>MyNamespace.MyClassWithMain</StartupObject>
</PropertyGroup>

MyNamespace.MyClassWithMain

重新启动VS使其工作

背景:
这个错误今天发生在一个.NET4.5.1服务项目中,我想把它改成控制台应用程序。将输出类型更改为“控制台应用程序”,但仍然没有更改。我还手工编辑了.csproj

如果是VB.NET项目

Project->{ProjectName}属性->应用程序

如果选中“启用应用程序框架”,则无法选择常用的主方法。错误是:

选中“启用应用程序框架”时,启动对象必须是表单

此外,取消选中后,标签将从启动形式更改为启动对象

错误对话框:

从.net core 3预览版降级到2.2版后,我遇到了同样的问题-您需要从此处安装SDK的最新版本:


如果您想要的类没有显示在下拉列表中,您可以在解决方案资源管理器中双击该项目,并在项目名称后添加类名。 (代码中显示为“myproject”和“myclass”)


Exe
netcoreapp3.1
myproject.myclass

是的,但他也说他不能选择
main
方法。这就解释了原因。例如,如果
main
方法不是
static
,那么代码将无错误地生成,但您将无法选择
main
作为启动对象。@DanPuzey我认为我的主方法符合所有这些要求(请参见问题编辑),但它仍然没有显示在启动对象中。但它确实成功地构建了。如果使用“String[]”(大写字母S)代替“String[]”(小写字母S),则可能会出现这种情况+1,看起来,
Main
方法正在转换为
中间语言
Visual Studio
要求程序员使用对所有
.NET
投诉语言有效的名称空间。我还发现前面的名称空间显示在“启动对象”中清理和重建后的下拉列表。关闭并重新打开VS 2010对我来说是个好办法。如果您的项目要构建(
.DLL
)库,那么让我们看看Visual Studio是否允许指定启动对象。如果是这种情况,请编写一个消费对象并参考库。在检查了下面的所有C#注释(例如添加
public
)后,我需要清理和重新构建以及在VS中关闭和重新打开项目的黑魔法(如下所述)。我手动编辑了.csproj文件,而不是在“Startup object”选项。它起作用了。将静态void Main(字符串[]args){…}添加到我的类(是一个.net core 3.dll项目)并重新启动VS后,重新编译项目对我有效
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<StartupObject>myproject.myclass</StartupObject>
</PropertyGroup>

</Project>