正常Publish
选择publish


在IIS管理器中添加网站

设置站点名称,点击验证链接

成功


需要Publish不同版本的原因
例如:DB的连接,一般有UAT DB和PRD DB。我们一般把连接的字符串
"Server=localhost;Database=MyDb;User Id=sa;Password=YourPwd123;TrustServerCertificate=true;"放到appsettings.json文件中,但是我们appsettings.json只有一个,怎么同时支持UAT和PRD呢?
UAT/PRD Publish
新建两个配置文件



修改配置文件
UAT.pubxml
<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
<Project>
<PropertyGroup>
…
</PropertyGroup>
<!-- 关键:发布时把 UAT 配置拷成 appsettings.json -->
<Target Name="ReplaceAppSettings" AfterTargets="Publish">
<Copy SourceFiles="appsettings.UAT.json"
DestinationFiles="$(PublishDir)appsettings.json"
OverwriteReadOnlyFiles="true" />
</Target>
</Project>
PRD.pubxml
<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
<Project>
<PropertyGroup>
…
</PropertyGroup>
<!-- 关键:发布时把 PRD 配置拷成 appsettings.json -->
<Target Name="ReplaceAppSettings" AfterTargets="Publish">
<Copy SourceFiles="appsettings.PRD.json"
DestinationFiles="$(PublishDir)appsettings.json"
OverwriteReadOnlyFiles="true" />
</Target>
</Project>
新建两个json文件

测试成功
用哪个配置文件(UAT/PRD)publish,最终生成的appsettings.json就是什么里面的内容(appsettings.UAT.json/appsettings.PRD.json)

被折叠的 条评论
为什么被折叠?



