尽管在 Visual Studio 中将 OutputType WinExe 与 Microsoft.NET.Sdk.Web 一起使用,但仍显示控制台 Window
Console Window shown despite using OutputType WinExe with Microsoft.NET.Sdk.Web in Visual Studio
如果我将 <OutputType>WinExe</OutputType>
添加到新的 ConsoleApp,应用程序就会启动,Main 方法是 运行 并且应用程序会再次关闭。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
如果我将 Sdk 更改为 Microsoft.NET.Sdk.Web
并再次启动应用程序,则会打开一个控制台 window。
为什么使用 <Project Sdk="Microsoft.NET.Sdk.Web">
会导致控制台 window 打开?有什么办法可以避免吗?
编辑:控制台 window 似乎只有在应用程序在 Visual Studio 中启动时才会打开。如果我 运行 没有 Visual Studio 的 exe,应用程序 运行 作为后台进程,正如预期的那样。
Edit2:我会尝试重新表述问题:
使用<Project Sdk="Microsoft.NET.Sdk.Web">
会导致将一堆道具和目标文件包含到项目中。在某处一定有控制台 window 打开的原因。
为什么使用会导致控制台 window 打开?有什么办法可以避免吗?
当您将项目更改为使用 Microsoft.NET.Sdk.Web
(这意味着它是一个 Web 项目)时,您没有正确地重新加载项目。它缺少一个 launchSettings.json
文件,该文件将指定将您的项目作为网站启动。
在我这边,如果你没有正确重新加载你的项目,它会丢失launchSettings.json
文件,所以当你运行你的项目时,它将启动控制台 window:
建议
1)关闭VS实例,删除解决方案文件夹下的.vs
隐藏文件夹,bin
和obj
文件夹
2),重启VS打开你的工程重新初始化工程
它将生成 launchSettings.json
个文件。
这是我的测试结果,它不会调用控制台window。
此外,如果您的项目已经有一个launchSettings.json
文件,您可以删除它,然后按照步骤1和步骤 2 重新创建文件。
我在 GitHub 上提出了一个问题,并确认这是 visual studio 中的一个错误。
如果我将 <OutputType>WinExe</OutputType>
添加到新的 ConsoleApp,应用程序就会启动,Main 方法是 运行 并且应用程序会再次关闭。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
如果我将 Sdk 更改为 Microsoft.NET.Sdk.Web
并再次启动应用程序,则会打开一个控制台 window。
为什么使用 <Project Sdk="Microsoft.NET.Sdk.Web">
会导致控制台 window 打开?有什么办法可以避免吗?
编辑:控制台 window 似乎只有在应用程序在 Visual Studio 中启动时才会打开。如果我 运行 没有 Visual Studio 的 exe,应用程序 运行 作为后台进程,正如预期的那样。
Edit2:我会尝试重新表述问题:
使用<Project Sdk="Microsoft.NET.Sdk.Web">
会导致将一堆道具和目标文件包含到项目中。在某处一定有控制台 window 打开的原因。
为什么使用会导致控制台 window 打开?有什么办法可以避免吗?
当您将项目更改为使用 Microsoft.NET.Sdk.Web
(这意味着它是一个 Web 项目)时,您没有正确地重新加载项目。它缺少一个 launchSettings.json
文件,该文件将指定将您的项目作为网站启动。
在我这边,如果你没有正确重新加载你的项目,它会丢失launchSettings.json
文件,所以当你运行你的项目时,它将启动控制台 window:
建议
1)关闭VS实例,删除解决方案文件夹下的.vs
隐藏文件夹,bin
和obj
文件夹
2),重启VS打开你的工程重新初始化工程
它将生成 launchSettings.json
个文件。
这是我的测试结果,它不会调用控制台window。
此外,如果您的项目已经有一个launchSettings.json
文件,您可以删除它,然后按照步骤1和步骤 2 重新创建文件。
我在 GitHub 上提出了一个问题,并确认这是 visual studio 中的一个错误。