Jam*_*123 9 c# visual-studio asp.net-core
我在 VS 调试窗口中将 HostingModel 设置为“进程外”。但是当将项目发布到我的开发服务器时。web.config 文件始终显示hostingModel="inprocess"。如果我删除此属性,我可以运行该应用程序。
发布时是否有任何流程我们更改hostingModel为OutOfProcess. 我正在使用 ASP.Net Core 3.1 版本的 WebAPI
小智 12
对于 Visual Studio 2019,更改项目文件并不能解决问题。
以下行:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
Run Code Online (Sandbox Code Playgroud)
应添加到位于 Properties/PublishProfiles/ 项目目录中的发布配置文件“YourProfileName”.pubxml 文件中。
您需要了解 .Net core 的层次结构,才能准确理解您需要了解的内容。
.NetCore 从哪里读取此配置:
首先:
web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at https://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="InProcess"></aspNetCore>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
该值hostingModel="InProcess"将覆盖项目中现有的所有其他配置。
第二:
publish profile
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DeleteExistingFiles>True</DeleteExistingFiles>
<ExcludeApp_Data>False</ExcludeApp_Data>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>bin\Release</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
<EnvironmentName>staging</EnvironmentName>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
相关节点是AspNetCoreHostingModel
第三:
.csproj
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<IsPackable>false</IsPackable>
Run Code Online (Sandbox Code Playgroud)
您在 中拥有的任何值.csproj或publish profile将被webconfig.
在VS Debug窗口更改属性,工程launchsettings.json文件同步更新,launchsettings.json供VS运行工程使用。要将应用程序配置为进程外托管,请在项目文件 (.csproj) 中将该<AspNetCoreHostingModel>属性的值设置为:OutOfProcess
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13233 次 |
| 最近记录: |