以下是有关我们的开发环境的详细信息:
- DevExpress 20.2.3(我们正在使用 DevExtreme)
- Microsoft Visual Studio Enterprise 2019(版本 16.4.6)
- ASP.NET Core 3.1.0
- AspNetCore.Mvc 3.1.0.0
- Microsoft SQL Server 2008 R2 (RTM) –
- dotnet –版本 3.1.300
我们的部署服务器环境详细信息如下:
- Windows Server 2016 标准 64 位操作系统
- dotnet –版本 3.1.300
- IIS 版本 10
我们的目标是使用 dotnet 命令行来构建和部署/打包:
Microsoft Windows [版本 10.0.17763.1697] (c) 2018 Microsoft Corporation。保留所有权利。
C:\Windows\system32>D:
D:>%comspec%/ k“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ Tools \ VsDevCmd.bat”
** Visual Studio 2019 开发人员命令提示符 v16.8.2 ** 版权所有 (c) 2020 Microsoft Corporation
D:>cd D:\AppCodeArena\StrangeAcmeApplication\
D:\AppCodeArena\StrangeAcmeApplication>dotnet --version
3.1.300
D:\AppCodeArena\StrangeAcmeApplication>dotnet clean
…..输出...blah….blah….blah…..输出... 0 个错误
D:\AppCodeArena\StrangeAcmeApplication>dotnet build -c Release
--runtime win10-x64 .\StrangeAcmeApplication.Uploaders.sln…..输出...blah….blah….blah…..输出... 0 个错误
D:\AppCodeArena\StrangeAcmeApplication>dotnet publish .\src\StrangeAcmeApplication.Uploaders\StrangeAcmeApplication.Uploaders.csproj --runtime win10-x64 --no-build -c Release --output .\PublishedDirectory /p:DebugType=None /p:DebugSymbols=false /p:EnvironmentName=Development --self-contained true Microsoft (R) Build Engine 版本 16.6.0+5ff7b0c9e for .NET Core 版权所有 (C) Microsoft Corporation。保留所有权利。
StrangeAcmeApplication.Uploaders->D:\AppCodeArena\StrangeAcmeApplication\PublishedDirectory\
.\PublishedDirectory\appsettings.json 中包含以下内容:
{ “Logging”:{ “LogLevel”:{ “Default”:“信息”, “Microsoft”:“警告”, “Microsoft.Hosting.Lifetime”:“信息” } },“AllowedHosts”:“*” }
.\PublishedDirectory\appsettings.Development.json 中包含以下内容:
{“Logging”:{“LogLevel”:{“Default”:“信息”,“Microsoft”:“警告”,“Microsoft.Hosting.Lifetime”:“信息”} },“ConnectionStrings”:{“dbConnectionString”:“数据源=BlahSQLServerBlah;初始目录=BlahDatabaseInstanceBlah;持久安全信息=True;用户ID=blahUserNameblah;密码=blahblah”
} }
最后在 .\PublishedDirectory\web.config 中,我们有以下内容:
< ?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false" >
< system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\InvestorCentral.Uploaders.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer> </location> </configuration>
但是,当我部署到 IIS 服务器时,我不断收到以下错误:
HTTP 错误 500.19-内部服务器错误
无法访问所请求的页面,因为该页面的相关配置数据无效。
详细错误信息:
IIS Web Core 模块
通知未知
处理程序尚未确定
错误代码 0x8007000d
配置错误
配置文件
\?\D:\webSites\StrangeAcmeApplication.Published\web.config请求的 URL http://localhost:32769/
物理路径
登录方式尚未确定
登录用户 尚未确定
配置来源:-1:0:
答案1
@lex-li 和 @yiyi-you 感谢您的评论。
我感觉有点傻,因为问题在于所讨论的服务器需要安装.NET Core Hosting Bundle(就我而言,它特别是用于 x64 位的 .Net Core 3.1.12 Hosting Bundle):