gpt4 book ai didi

c# - VSTS/TFS 设置环境变量 ASP.NET core

转载 作者:太空狗 更新时间:2023-10-30 01:13:52 27 4
gpt4 key购买 nike

我正在尝试通过以下任务使用 VSTS 将 ASP.NET Core 应用程序部署到 IIS

enter image description here

但是,在大量谷歌搜索和浏览 MS 文档之后,我找不到为部署设置环境变量的方法。我在环境范围内的发布定义中设置的变量未设置为环境变量。

enter image description here

知道如何实现吗?

最佳答案

您在 VSTS 中设置的环境变量仅用于部署本身(即 VSTS 正在执行的任何操作,例如构建您的应用程序或运行单元测试),但运行时应用程序将使用托管它的服务器上的任何一个。

如果您希望部署的应用程序也使用它们,则需要在 VSTS 部署到的 IIS 服务器上设置环境变量。 Microsoft 文档显示了如何根据您的服务器进行设置:Setting the environment

根据评论更新:

设置环境变量的推荐方法是在机器本身上 - 即。登录到您要部署到的 IIS 服务器,并在 系统属性 -> 高级设置 -> 环境变量

中添加 ASPNETCORE_ENVIRONMENT 环境变量

如果由于某种原因您不能这样做,您可以在 Web.config 文件中设置它们(根据该文档)。如果您总是设置相同的值,您应该能够像这样将您需要的内容放入 Web.config

<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>

如果您真的需要 XML 转换(老实说,我不确定您在这种情况下是否这样做 - 这是为了在部署时根据构建配置更改 Web.config 文件. 正如其他人提到的,对于 asp.net 核心,推荐的配置设置是 appsettings[.environment].json 文件,这些文件会根据匹配的机器级别 ASPNETCORE_ENVIRONMENT env 自动加载变量),您需要使用正确的语法在转换文件中实际定义转换,并用它替换您想要更改的部分。这显然是更困难的选择。

参见:How to: Transform Web.config When Deploying a Web Application Project用于创建转换文件和 Web.config Transformation Syntax for Web Project Deployment Using Visual Studio对于配置语法,如果你选择走那条路

类似这样的东西(目前无法测试,但这应该会给你一个想法——注意转换文件上的转换命名空间和 xdt: 属性)。我相信加载的转换文件与构建配置相匹配,您可能需要将其配置为 VSTS 任务的一部分:

Web.config

<configuration>
<system.webServer>
<aspNetCore ...>
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>

Web.Release.config(构建配置“Release”的转换文件)

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<aspNetCore ...>
<environmentVariables>
<environmentVariable xdt:Transform="Replace" xdt:Locator="Match(name)" name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>

关于c# - VSTS/TFS 设置环境变量 ASP.NET core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47763544/

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