![](/img/trans.png)
[英]Visual Studio for Mac Browser .Net Core code from SourceLink
[英].NET core 3 API, develop on Mac with Visual Studio Code: how deploy and configure on IIS?
我在 Mac 上使用 Visual Studio Code 开发了带有.Net Core 3 的 web API 没有问题。 我使用命令发布: dotnet publish -c release
但我无法在 IIS 上部署:发布命令不会生成任何“web.config”文件,因此我使用在 web 上找到的此配置(可能适用于 Core 2.0?):
<?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="dotnet"
arguments=".\thenameofmydll.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
我的“program.cs”:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
我的问题:
“program.cs”是否可以与 IIS 一起使用?
“web.config”是正确的?
我在 web 上找到了几个示例,但所有这些都是部分或不完整的......如果我要求以前提出的问题,很抱歉,但我找不到.Net Core 3 的完整示例
谢谢!
IIS 中有Microsoft 文档可用于 .Net CORE 3.x 应用程序部署。 简而言之,首先您需要在 IIS 服务器中安装Hosting bundle for .Net core 3.x。 然后,您可以将应用程序发布为自包含应用程序或依赖于框架的应用程序。 您可以在设置发布设置时使用 select 此选项。
你的 web.config 应该是这样的
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2"
resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\<app name>.exe"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"
/>
</system.webServer>
</location>
</configuration>
根据asp.net 核心文件:
如果省略 -r 参数,则会为您当前的平台创建一个可执行文件。
我建议您可以尝试在命令中设置运行时版本,然后重试。 它将添加 web.config 文件。
dotnet publish
-c Release
-f netcoreapp3.1
-r win-x64
此外,任何对目标平台具有平台特定依赖关系的 NuGet 包都将复制到发布文件夹。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.