gpt4 book ai didi

iis - 如何在 .Net Core 2 中为 IIS 发布定义自定义 web.config?

转载 作者:行者123 更新时间:2023-12-04 22:55:14 25 4
gpt4 key购买 nike

作为发布到 IIS 的一部分,VS 将生成(并覆盖)一个 web.config 文件。我需要在文件中包含各种项目(例如扩展文件上传最大大小限制、重定向到 HTTPS 等)。我目前必须在每次发布后将内容复制并粘贴到文件中。

是否可以定义 Visual Studio 在为 IIS 发布 .NET Core 2 Web 应用程序时生成的 web.config 文件的内容?

最佳答案

不确定你是否解决了这个问题,但如果其他人遇到了这个问题,我遇到了这个问题,最后去寻找转换任务的源代码。它包含一些日志,所以我运行了 dotnet publish/v:n参数,将日志记录详细程度设置为“正常”:

dotnet publish src\MyProject -o ..\..\publish /v:n

当我运行这个时,我在输出中看到了这个:
_TransformWebConfig:
No web.config found. Creating 'C:\Development\MyProject\publish\web.config'

即使项目中有 web.config。我更改了 web.config 的属性 “复制到输出目录” “总是” ,现在我项目中的 web.config 与自动生成的内容合并。

我的 csproj 现在有这个:
    <None Include="web.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

并且发布输出具有:
_TransformWebConfig:
Updating web.config at 'C:\Development\MyProject\publish\web.config'

注意:如果您要发布到已经包含 web.config 的现有目录,它将更新该文件。 (即,旧的发布)。如果您不指定输出目录,它将发布到类似 /bin/Debug/net471/publish/ 的内容。 ,其中可能包含旧文件。

注2:您仍然需要 Sdk="Microsoft.NET.Sdk.Web"您的 csproj 文件中 Project 节点上的属性,否则它甚至不会费心寻找 Web.configs。

作为引用,这里是任务源代码:
https://github.com/aspnet/websdk/blob/master/src/Publish/Microsoft.NET.Sdk.Publish.Tasks/Tasks/TransformWebConfig.cs

关于iis - 如何在 .Net Core 2 中为 IIS 发布定义自定义 web.config?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50223147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com