Visual studio 2017 如何扩展.NET核心应用程序的msdeploy/发布管道
Visual Studio中的旧式/.NET Framework Web应用程序具有可自定义的发布管道。例如,可以指定Visual studio 2017 如何扩展.NET核心应用程序的msdeploy/发布管道,visual-studio-2017,asp.net-core-2.0,msdeploy,webdeploy,msbuild-wpp,Visual Studio 2017,Asp.net Core 2.0,Msdeploy,Webdeploy,Msbuild Wpp,Visual Studio中的旧式/.NET Framework Web应用程序具有可自定义的发布管道。例如,可以指定Parameters.xml文件,如下所示: <PropertyGroup> <WebAppPackageConfigDir Condition=" '$(WebAppPackageConfigDir)' == '' ">$(MSBuildProjectDirectory)\Package</WebAppPackageConfigDir&
Parameters.xml
文件,如下所示:
<PropertyGroup>
<WebAppPackageConfigDir Condition=" '$(WebAppPackageConfigDir)' == '' ">$(MSBuildProjectDirectory)\Package</WebAppPackageConfigDir>
<ProjectParametersXMLFile>$(WebAppPackageConfigDir)\Parameters.xml</ProjectParametersXMLFile>
</PropertyGroup>
似乎不支持自定义部署参数。类似地,
目标似乎禁止定制
WPP(Web发布管道-以前的实现)很笨重,但是有一些文章/博客文章介绍了如何定制它。对于ASP.NETCore,我没有提到定制或扩展部署过程。我确实发现了,但它似乎已经过时了——它适用于VS2017,使用project.json和powershell脚本进行部署,而且似乎为了支持MSBuild目标而放弃了它
我也找到了,它记录了msdeploy设置中可以更改的几个部分,但我仍然声明,不支持扩展管道
我将缺乏可用信息解释为“自己解决”,这在处理MSBuild和MSDeploy时是一个挑战。是否有人成功定制了ASP.NET核心Web应用程序的部署管道?我已经创建了此问题:-但是还没有响应。
<!--
***********************************************************************************************
TARGET : _CreateParameterFiles
***********************************************************************************************
-->
<Target Name="_CreateParameterFiles">
<ItemGroup>
<MsDeployDeclareParameters Remove="@(MsDeployDeclareParameters)" />
<MsDeployDeclareParameters Include="IIS Web Application Name" >
<Kind>ProviderPath</Kind>
<Scope>IisApp</Scope>
<Match>$(PublishIntermediateOutputPath)</Match>
<Description></Description>
<DefaultValue>$(DeployIisAppPath)</DefaultValue>
<Value>$(DeployIisAppPath)</Value>
<Tags>IisApp</Tags>
<Priority></Priority>
<ExcludeFromSetParameter>false</ExcludeFromSetParameter>
</MsDeployDeclareParameters>
</ItemGroup>
<ItemGroup Condition="'@(_EFSQLScripts)' != ''">
<MsDeployDeclareParameters Include="%(_EFSQLScripts.DBContext)">
<Kind>ProviderPath</Kind>
<Scope>dbfullsql</Scope>
<Match>%(_EFSQLScripts.Identity)</Match>
<Description></Description>
<DefaultValue>%(_EFSQLScripts.ConnectionString)</DefaultValue>
<Value>%(_EFSQLScripts.ConnectionString)</Value>
<Tags>dbfullsql</Tags>
<Priority></Priority>
<ExcludeFromSetParameter>false</ExcludeFromSetParameter>
</MsDeployDeclareParameters>
</ItemGroup>
<CreateParameterFile
Parameters="@(MsDeployDeclareParameters)"
DeclareSetParameterFile="$(_MSDeployParametersFilePath)"
IncludeDefaultValue="True"
OptimisticParameterDefaultValue="$(EnableOptimisticParameterDefaultValue)"
SetParameterFile="$(_MSDeploySetParametersFilePath)"
GenerateFileEvenIfEmpty="True" />
</Target>