为什么只有一个无参数的Main方法被视为“有效的启动对象”对于C#项目?
-
06-07-2019 - |
题
我下载了一个源文件的zip文件,其中包含一个带有多个入口点/主要方法的C#项目。 因为我想修补一下,我在新的类型/类
中创建了另一个这样的东西class MyExperiments
{
static void Main(String[] args)
{
// do something
}
}
然后我切换到项目属性。只需将启动对象切换到MyExperiments呃?令我惊讶的是,下拉列表没有它。我重建,使方法公开,尝试了很多东西......但无济于事。最后我在记事本中手动编辑了.csproj,然后就可以了。 更多的修修补补,我删除了参数使其成为
static void Main()
现在VS Project属性可以“看到”启动对象。所以现在我可以使用下拉列表选择它。然后我添加了String [],一切仍然有用。
对我来说似乎有点奇怪(因为最常见的形式是一个Main方法,带有C / C ++时间命令行参数的参数)。 MSDN 说下拉列表将包含有效的启动对象,如果它们存在于您的项目中。
解决方案
你复制粘贴好的东西,它是 Main(String [] args)
中的大写'S'。显然VS使用了一些文本匹配,它区分大小写。可能应该如此。
其他提示
lol - 它看起来像IDE中的一个错误:
static void Main(String[] args) {}
没有显示,但是
static void Main(string[] args) {}
确实!
<强>更新强> 响应Connect Feedback / bug,
感谢您的反馈!它看起来像 这里的问题是“字符串” Main方法中的参数需要 是一个完全小写的“字符串” (而且它 似乎已经指出了你的 stackoverflow post)。我看到了 建议在这里更新项目 属性页面稍微聪明一些 关于拿起启动对象, 但鉴于这是合理的 解决方法,我们将投资我们的 稳定和改善的资源 VS2010的性能。我要走了 提前并解决这个问题,因为“不会 固定&QUOT;但请随意 如果你有任何错误,请重新激活该错误 进一步的问题/评论。
谢谢,DJ Park C#IDE,Program 管理器
所以现在似乎是你必须留在脑海里的东西 - Gishu