调试时出现VS错误

8

我正在编写一个C# winform应用程序。之前一切都很顺利,但突然间调试不起作用了。我收到了以下错误信息:

尝试运行项目时出错:无法启动程序[这里跟随可执行文件的路径]输入或输出无法重定向,因为指定的文件无效。

以下是.sln文件。

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stub", "Stub\Stub.csproj", "{C6376D67-EEEC-4AEE-B779-D743D0181636}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {C6376D67-EEEC-4AEE-B779-D743D0181636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {C6376D67-EEEC-4AEE-B779-D743D0181636}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {C6376D67-EEEC-4AEE-B779-D743D0181636}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {C6376D67-EEEC-4AEE-B779-D743D0181636}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
EndGlobal

我将项目属性与虚拟项目的属性进行比较,发现在我的项目中,在“调试”选项卡下的“命令行选项”字段中有这个值:No Command-line。我不知道它是从哪里来的,但在删除它后,调试又可以正常工作了。

发生了什么事?在失败之前,您是否更改了任何项目属性? - yacc
我不知道。 - Yoav
你使用的是哪个版本? - yacc
之前使用的是2015版本。安装了2017版本后,结果还是一样的,所以我认为问题可能出在项目本身。 - Yoav
你能分享一下你的 .sln 文件吗?还有 .csproj 和 .csproj.user 文件。 - yacc
顺便说一句,我仍然很感兴趣您是如何遇到这个问题的。如果您能记得选中此选项的情况,那就太好了。 - yacc
2个回答

5

检查项目属性中是否包含一个名为命令行选项的字段。如果它包含无命令行,请将其删除。


10
命令行中包含 "<" 或 ">" 也可能导致此问题。 - Darren
1
正如Darren所指出的那样,请查看属性>调试>命令行参数。如果它们包含“<”或“>”,则会导致错误。 - Shiroy

1

可能与原问题无关,但在 VS Code 中,如果您在调试器中启动 .NET Core 应用程序时,在 launch.json 中的参数中有一个 "<",就会发生这种情况:

args: ["<something>"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接