Visual Studio 在控制台应用程序而不是 Web 项目中打开 Web 浏览器 + 调试器

问题描述 投票:0回答:1

我最近使用自定义 Web 服务器将一些项目从 IIS ASP NET 项目更改为控制台应用程序。在这两种项目中,我们都将项目作为控制台应用程序运行(因此我们实际上没有使用 IIS),

但是,作为一个Web项目,分析器不起作用。因此,我们将项目更改为控制台应用程序,这使得探查器可以工作。不幸的是,这删除了运行 Web 浏览器并自动附加调试器的选项。这出现在 Visual Studio 中,如下所示:

控制台应用程序:

网络项目:

有没有办法在仍然是控制台应用程序的情况下恢复它?

我尝试将其添加到 .csproj:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>False</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>52826</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost:53107/</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>True</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
          <servers defaultServer="SelfHostServer">
            <server name="SelfHostServer" exePath="" cmdArgs="-c http://localhost:52826/" url="http://localhost:52826" workingDir="" />
          </servers>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>

但这似乎没有帮助。更现代的 .net core 应用程序似乎也是控制台应用程序,但它们可以以某种方式启动浏览器并附加调试器。我们使用的是 Visual Studio 2017,但我们很乐意升级到 2019 来解决该问题。 JetBrains Rider IDE 似乎还能够启动 Web 浏览器并在任何类型的项目上进行调试。

c# asp.net visual-studio csproj web-application-project
1个回答
4
投票

简单的解决方案(不确定是否有效,请告诉我):

  • 进入 VS2017 中项目的“属性”,然后转到“调试”选项卡。您有启动浏览器的选项吗? (抱歉,我目前没有在任何地方安装 2017)
  • 或者启动任何自定义命令?并将其指向您的调试实例。
  • (负面)存在团队成员或环境之间不跨职能的风险

既然你提到升级到 VS2019,我将建议这是最好的解决方案。

将所有项目文件更新为新格式。所有这些都应该在“属性”>“调试”中具有启动浏览器的选项。

它在 DotNetCore 中工作的原因也是因为 DotNetCore 消除了在 IIS 或类似内部运行的概念,Kestral 与控制台应用程序一样从

Main
入口方法连接,从而减少了诸如以下情况的混乱你的。无论您的目标框架是什么,VS2019 都应该支持这种安排。

© www.soinside.com 2019 - 2024. All rights reserved.