使用本地IIS进行编辑和继续调试

22

在使用本地IIS调试时,是否可以启用Visual Studio中的编辑并继续选项,而不是使用IIS Express?


你找到解决方案了吗? - Vortex852456
3个回答

34

IIS 10.0(Win 10)可用:

在管理员命令行中运行

C:\Windows\System32\inetsrv>appcmd set apppool "DefaultAppPool" /+environmentVariables.add[@start,name='COMPLUS_ForceEnC',value='1']

(将DefaultAppPool替换为您正在使用的应用程序池名称)

这将添加标签

    <environmentVariables> 
        <add name="COMPLUS_ForceEnC" value="1" /> 
    </environmentVariables> 

将你的应用程序池配置文件保存到 C:\Windows\System32\inetsrv\config\applicationHost.config 中,以便应用程序池进程始终以编辑并继续模式运行。
有关 COMPLUS_ForceEnC 环境变量的更多信息可以在这里找到。
另请参阅IIS 配置参考

您还可以在“控制面板>系统>高级>环境变量…”中设置此环境变量,或使用PowerShell命令进行设置:[Environment] :: SetEnvironmentVariable(“COMPLUS_ForceENC”,“1”,[System.EnvironmentVariableTarget] :: Machine) - kevinpo

5
根据Ondrej的回答,这里提供一个简单的代码,可以一键启用所有应用程序池的编辑和继续功能:
SET "APPCMD=%systemroot%\system32\inetsrv\AppCmd.exe"
FOR /F "TOKENS=*" %%f IN ('%APPCMD% list apppool /text:name') DO %APPCMD% set apppool "%%~f" /+environmentVariables.add[@start,name='COMPLUS_ForceEnC',value='1']
PAUSE

将此代码保存为“Enable Edit And Continue.bat”,然后运行它(右键单击文件并选择“以管理员身份运行”)。

享受吧!


0

Windows 11 上的 IIS 10:

C:\Windows\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='DefaultAppPool'].environmentVariables.[name='COMPLUS_ForceEnC',value='1']" /commit:apphost

在“MACHINE/WEBROOT/APPHOST”配置提交路径处,将应用程序池部分的配置更改应用。


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