Visual studio 2010 无法在Visual Studio Express 2010中选择主方法作为启动对象?
我在我的一个类中编写了一个Main方法。我的启动对象显示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方法作为启动对象?我只想通过按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>