当开始调试时,如何防止Visual Studio启动新的浏览器窗口?

483

我已经打开了一个窗口来调试网站,我不需要每次需要调试时VS都为我启动另一个窗口。

有没有方法可以停止这种行为?


您启用了标签式浏览吗?而且您正在使用IE吗? - Quintin Robinson
您想禁用浏览器链接功能。 - efkah
1
为 VS 2022 更改了更改启动配置文件 - Irf
21个回答

490
打开你的启动项目属性(Project → {ProjectName} 属性...从主菜单或者右键点击你的项目在解决方案浏览器中并选择属性), 然后导航到Web选项卡,在“启动操作”下选择“不打开页面。等待外部应用请求。”。
您仍然可以使用任何浏览器(或 Fiddler,无论哪个)访问正在运行的应用程序,但它不会自动打开浏览器窗口,而只会在后台启动并等待任何请求。

10
可以的。我经常用它来进行调试。你的配置一定有问题。请仔细检查你的 web.config 文件,确保已启用调试,并且正在运行 Debug 构建。 - Pawel Krakowiak
2
@mjohnsonengr 我敢肯定这是一个本地的每个用户设置...也许你已经将.csproj.user文件检入了(你不应该这样做)。 - Pawel Krakowiak
1
所以这是[本地设置]。我之前一直以为该区域中的所有项目设置都存储在团队csproj中。我之前尝试通过修改“项目URL”来更改浏览器打开的URL,并看到它在.csproj中被更改。经过仔细检查,我现在发现有一个“将服务器设置应用于所有用户”的复选框,它控制了那个字段。我的错。 - mejdev
2
@PawelKrakowiak 这似乎不起作用。无论如何检查设置,它都会打开新标签页。 - Daniel Harris
4
在 Mac 上的 Visual Studio 中,与此相近的设置在"项目 > 选项 > 运行 > 默认值 > ASP.NET Core"下。取消勾选"应用程序启动时在 Web 浏览器中打开 URL"。 - AdvApp
显示剩余7条评论

265

对于VS 15.7.1版本,点击工具选项项目和解决方案Web项目,然后取消勾选关闭浏览器时停止调试器选项。


6
VS 15 是 Visual Studio 2017 的缩写。 - Uwe Keim
7
建议更改不要做与问题相关的事情。 - Anatolyevich
4
在 Visual Studio 2019 (16.4.4) 中运行良好。 - Rory McCrossan
1
对我来说,这是正确的答案。vs2019 16.8.3 - Died
2
同样适用于VS2022 RC3(即版本17.0.0 RC3)。 - SAL
显示剩余4条评论

139

针对 .NET Core Web Api 项目的更新答案...

右键单击您的项目,选择 "属性",进入 "调试" 并取消勾选 "启动浏览器" 复选框 (默认情况下启用)。

输入图像描述


1
@Grey 这个“Launch Browser”选项在哪里? - Ayush Singhania
我已经更新了答案:你必须进入项目属性才能找到该选项。 - CennoxX
它已经针对VS 2022进行了更改。 - Irf

79
在ASP.NET 5项目中,现在可以为每个启动配置文件设置这个选项了。
打开“启动项目属性”文件夹下的文件launchsettings.json,并在你正在配置的配置文件中添加"launchBrowser": false,例如:
"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}

非常完美的答案,正是我在寻找的。谢谢! - Garuda prasad K

41

在Visual Studio 2019中,我解决了与以下相同的问题:

进入Visual Studio选项 工具 >>> 选项 >>> 项目和解决方案 >>> Web 项目 最后 取消勾选 选项 >>> 停止调试时关闭浏览器窗口,调试结束时关闭浏览器

步骤1:

enter image description here

步骤2: 取消勾选选项 >>> 停止调试时关闭浏览器窗口,调试结束时关闭浏览器

enter image description here

步骤3:

最后点击 >>> 确定 按钮,这些都是解决该问题的步骤。


1
这个答案适用于Visual Studio 2019预览版(版本16.8.0预览版6.0)。 - Jake
4
魔法,也适用于VS 2022。 - Vnuuk

28

我通过以下步骤解决了我的问题。 前往“工具”>>单击“选项”>>单击“项目和解决方案”>>单击“Web 项目”>> 取消勾选“关闭浏览器时停止调试”选项输入图像描述


被低估的答案 - Bimal Das
我一直在寻找一种方法,可以阻止 Visual Studio 在启动调试时打开一个新的浏览器,而是在当前浏览器中打开一个新标签页。虽然这样做似乎没有什么道理,但禁用此功能确实可以解决问题。 - Knightwalker

22

这个解决方法适用于我的 VS 2019。

工具 => 选项

然后在搜索框中输入项目和解决方案

选择Web 项目

然后取消下面的选项。

当浏览器窗口关闭时停止调试,调试停止时关闭浏览器。

这对我有用。希望能对你有所帮助。


2
每次我开始调试时,它仍然会打开一个新的标签页。 - mimic

20

由于我的VS(Visual Studio企业版2017)没有提到的选项,我不得不寻找其他选项。

这是我找到的:

转到“工具”->“选项”->“调试”选项卡(通用),取消选中“为Asp.Net(Chrome和IE)启用JavaScript调试”。

输入图像描述


14

看起来已经改变了,对于VS 2022,

现在它有了专门的UI界面,

右键点击项目(在“解决方案资源管理器”中)>选择属性然后按照以下步骤操作:

输入图像描述


输入图像描述 "取消勾选"它不要自动打开。

或者你可以点击菜单栏,调试 > 属性

输入图像描述

你可以直接从那里进入第二步 "启动配置文件"

或者一个快捷方式:

选择项目(在解决方案资源管理器中)并按 Alt + Enter ,然后按照步骤操作。


12
你可以使用“附加到进程”功能,而不是按下F5
这也可以让您在已知的工作区域中导航,而无需在VS调试器加载的缓慢下降。

我已经尝试过了,但它在找到断点时不会停止执行。我需要它在断点处停止,有办法启用吗?谢谢。 - sker
1
只要你附加到已加载应用程序/bin/文件夹中完全相同的程序集的进程,所有断点都将起作用(哦,还有提供.pdb文件!) - Aaron Powell
我在谷歌上搜索了如何解决这个问题,但似乎很麻烦。我无法让它正常工作。在此期间,我将使用"I Have the Hat"的解决方案。谢谢。 - sker
我可以通过按F5并选择“等待外部应用程序的请求”选项来进行调试,但是我无法让“附加到进程”(附加到INetMgr.exe)工作。从未在断点处停止过。以前我在VS 2013中使用VSCommands,但是新版的VSCommands 2015尚不支持“附加到IIS”。希望我知道问题所在。 - ErikE

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