我将一个项目从.NET Framework 4.7.2升级到.NET 6。当我在Visual Studio调试器中运行该程序时,向Program.Main
传递了一个意外参数(称为foo
)。foo
从何而来?项目属性的Debug页面没有显示参数:
换句话说,这里没有什么可看的。然后我添加了一个bar
参数:
Program.Main
现在被传递了一个由两个字符串foo
和bar
组成的数组。
我将一个项目从.NET Framework 4.7.2升级到.NET 6。当我在Visual Studio调试器中运行该程序时,向Program.Main
传递了一个意外参数(称为foo
)。foo
从何而来?项目属性的Debug页面没有显示参数:
换句话说,这里没有什么可看的。然后我添加了一个bar
参数:
Program.Main
现在被传递了一个由两个字符串foo
和bar
组成的数组。
1条答案
按热度按时间2mbi3lxu1#
升级部分原来是这里的中心,最有可能的是,仅仅切换到现代的
.csproj
就足以引发这种怪异。Visual Studio现在在
Properties\launchSettings.json
中保存应用程序参数等内容,例如:在升级之前,该信息位于
MyProject.csproj.user
中:Visual Studio在启动调试时显然读取了两个文件;不清楚这是有意的还是仅仅是一个bug(如果.NET Upgrade Assistant只是简单地将信息从旧位置移动到新位置,这就有意义了。
溶液
我删除了
.csproj.user
文件,尽管删除StartArguments
标记也肯定有效。不要忘记重新启动Visual Studio!