C# visual studio打开web浏览器+;控制台应用程序中的调试器,而不是web项目中的调试器
我最近使用自定义web服务器将一些项目从IIS ASP NET项目更改为控制台应用程序。在这两种项目中,我们都将项目作为控制台应用程序运行(因此我们实际上没有使用IIS) 但是,作为一个web项目,探查器不起作用。因此,我们将该项目更改为一个控制台应用程序,从而使探查器能够工作。不幸的是,这删除了运行web浏览器并自动附加调试器的选项。这在visual studio中显示如下: 控制台应用程序: 网络项目: 在仍然是控制台应用程序的情况下,是否有办法恢复此功能 我已尝试将此添加到.csproj:C# visual studio打开web浏览器+;控制台应用程序中的调试器,而不是web项目中的调试器,c#,asp.net,visual-studio,csproj,web-project,C#,Asp.net,Visual Studio,Csproj,Web Project,我最近使用自定义web服务器将一些项目从IIS ASP NET项目更改为控制台应用程序。在这两种项目中,我们都将项目作为控制台应用程序运行(因此我们实际上没有使用IIS) 但是,作为一个web项目,探查器不起作用。因此,我们将该项目更改为一个控制台应用程序,从而使探查器能够工作。不幸的是,这删除了运行web浏览器并自动附加调试器的选项。这在visual studio中显示如下: 控制台应用程序: 网络项目: 在仍然是控制台应用程序的情况下,是否有办法恢复此功能 我已尝试将此添加到.cspro
<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>
假的
真的
52826
/
http://localhost:53107/
假的
真的
假的
但这似乎没有帮助。更现代的.net核心应用程序似乎也是控制台应用程序,但它们可以启动浏览器并附加调试器。我们正在使用visual studio 2017,但我们很乐意升级到2019年以解决此问题。JetBrains Rider IDE似乎还能够启动web浏览器并对任何类型的项目进行调试。简单解决方案(不确定是否可行,请告诉我):
- 进入VS2017中项目的属性,然后进入调试选项卡。您有启动浏览器的选项吗?(很抱歉,我目前没有在任何地方安装2017)
- 或者启动任何自定义命令?并将该点指向调试实例
- (负面)存在团队成员或环境之间不跨职能的风险
既然您提到了升级到VS2019,我建议将其作为最好的解决方案 将所有项目文件更新为新格式。并且所有这些应用程序都应该在属性>调试中具有启动浏览器的选项
它在DotNetCore中工作的另一个原因是,DotNetCore摒弃了在IIS或类似系统中运行的概念,与控制台应用程序一样,它与
Main
输入方法相连接,从而减少了在类似情况下的混乱。无论您的目标框架是什么,VS2019都应该支持这种安排。在属性(在解决方案资源管理器的项目中)中,您应该有一个launchSettings.json文件,您可以在问题中为您的web项目包含该文件吗?升级到VS 2019不会改变它的发布方式。这似乎不存在?这是一个老式的csproj文件,如果有帮助,我会尝试一下!似乎即使在VS2019中,你也需要使用新的cs proj文件来实现这一点?是的,这是我的理解。根据我所做的,通常最简单的方法是从头开始创建一个新的csproj,然后将文件复制到其中(因为你只需要复制目录,当你自动加载csproj时应该添加目录),否则会有,但我已经让它产生奇怪的结果上帝c#配置真是一个噩梦,生成服务器无法生成项目,因为它没有正确的nuget版本,或者没有“.NETFramework,version=v4.7.2/win7-x64”的目标。确保已运行还原,并且已将“net472”包含在项目的TargetFrameworks中。您可能还需要在项目的运行时标识符中包含“win7-x64”。