我想将Blazor应用程序(Web程序集)部署到Azure App Service。
我想将Azure应用服务的环境设置为开发。
我试着把它设置为开发。
的数据
但是在部署之后,它说环境:生产。
的
Homepage.razor:
@using Microsoft.AspNetCore.Components.WebAssembly.Hosting
@inject IWebAssemblyHostEnvironment HostEnvironment
<PageTitle>Index</PageTitle>
<p>Environment: @HostEnvironment.Environment</p>
字符串
请任何人都可以建议如何将Azure应用服务上的环境设置为开发,而不是默认为生产。
非常感谢。
2条答案
按热度按时间m3eecexj1#
你需要修改你的
web.config
来传递我最近尝试的头文件中的变量。您可以在Azure中手动测试此功能,方法是转到部署槽,然后在开发工具下选择App Service Editor(preview)。
这将显示已部署应用程序的根目录,如果不存在
web.config
,则Azure已为您创建了一个。你可以像这样手动添加header:
字符串
这将进入
<system.webServer>
标记。Azure为我创建了这个(你可以看到我插入头的位置):
x1c 0d1x的数据
现在,当你加载页面时,你的应用将加载正确的app.{environment}.json文件:
的
根据发布方式,您可能需要创建单独的web.{environment}.config文件:
如果在Visual Studio IDE中使用.pubxml发布功能,您可以这样做:
1.将多个
web.config
文件添加到项目中,每个文件都是为特定环境设计的。您可以将它们命名为web.Production.config
、web.Testing.config
等。1.确保将这些文件的
Copy to Output Directory
属性设置为Do not copy
。1.然后,在每个
.pubxml
文件中添加一个Target
,它将在发布过程中将相应的web.*.config
重命名为web.config
。例如,如果你有一个
Production.pubxml
,你可以包括:型
对于
Testing.pubxml
,您可以包括:型
请记住更改路径
$(ProjectDir)web.Production.config
和$(ProjectDir)web.Testing.config
以匹配web.*.config
文件的实际位置。这将在发布过程中用特定于环境的文件替换
web.config
文件。每次在本地环境中构建项目时,都会从web.config.template
文件再次创建web.config
。注意:在尝试此操作之前,请确保备份您的文件,因为使用
Move
任务将覆盖您的文件。在部署到生产环境之前,始终在安全的环境中进行测试。此外,您应该从源代码控制中排除
web.config
文件,以防止意外提交特定于环境的配置。r8uurelv2#
Azure App Service中的默认部署槽是生产部署槽。您需要专门为开发或其他环境设置插槽(“staging”更常用)。有关详细信息,请参阅Azure App Service documentation for setting up staging environments。