一、IIS6下附加到进程调试,此方法在VS重新编译后,需要重新启动网站
1、发布网站到一个目录下,然后建立一个netcore的网站,修改webconfig.xml文件
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments="E:\MyTask\TEST\netcore\Test\bin\Debug\netcoreapp2.2\netcoreapp2.2\Test.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
其实就是修改dotnet启动的参数到VS生成的bin目录下的debug,之后打开网站,会用到bin目录下的debug信息。
2、停止和启动iis服务中的网站,参考https://blog.csdn.net/hejisan/article/details/81750808
C:\Windows\System32\inetsrv\appcmd.exe stop site "网站名"
C:\Windows\System32\inetsrv\appcmd.exe start site "网站名"
重启可以做成一个批处理文件,先停止,再启动。
二、直接使用dotnet,使用命令行
1、发布网站到一个目录下,然后在命令行cd到该目录
进入该目录,在该目录下执行如下命令
dotnet "VS2017项目的debug目录\FM.OCM.Web.dll"
2、在VS2017中附加到进程,选择dotnet.exe
3、VS中打断点,在浏览器中输入网址,然后就会进入到断点内
4、使用CTRL+C关闭服务,再在VS中编译,之后再启动
说明:net framework在iis中附加到进程,编译->附加w3wp.exe->调试,core中,编译->启动服务->附加(dotnet.exe)->调试->停止服务->编译->启动服务
使用方法二还有一个好处就是,在控制台可以看到输出日志,比较方便看日志。