LP1*_*P13 11 msbuild web-deployment-project web-deployment coreclr asp.net-core-2.0
我有asp.net core 2 应用程序。根据文档,我.pubxml为我的开发环境创建了文件。我正在使用 Web 部署(远程代理)将 Web 包部署到目标 Web 服务器。在我们安装了 jenkins 的构建服务器上,我运行以下命令来构建和部署
D:\Jenkins\myproject\workspace\myapplication\Src\Api>dotnet publish Api.csproj /p:PublishProfile=development.pubxml
Run Code Online (Sandbox Code Playgroud)
它成功构建应用程序并将其部署到目标 Web 服务器。
但是,我的应用程序有多个appsettings特定于每个环境的文件。例如appsettings.json,appsettings.development.json,appsettings.staging.json和appsettings.production.json部署过程部署所有的AppSettings文件到Web服务器。(在这种情况下开发网络服务器)
我如何只包含特定于环境的 appsettings 文件?(在这种情况下,我想部署appsettings.json,appsettings.development.json但不是其他 2 个文件)
Mar*_*ich 17
你可以加 <ItemGroup>向包含文件更新语句的发布配置文件(.pubxml 文件)定义。
例如,如果发布配置文件根据环境命名为Production.pubxml/ Staging.pubxml,则可以将此项目组添加到根<Project>xml 节点:
<ItemGroup>
<Content Update="appsettings.*.json" CopyToPublishDirectory="Never" />
<Content Update="appsettings.$(MSBuildThisFileName).json" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我可以用以下方法处理这个问题*.pubxml:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
.
.
.
</PropertyGroup>
<ItemGroup>
<Content Update="appsettings.Development.json">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
<Content Update="appsettings.TestBed.json">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4908 次 |
| 最近记录: |