ace*_*ita 8 .net publish visual-studio-2015
有没有办法在成功构建时使用预先创建的发布配置文件自动发布 Web 应用程序?我不想单击发布图标,需要在 Visual Studio 2015 上成功构建 Web 项目时发生这种情况 - 不使用宏。
任何样品将不胜感激!
将以下内容添加到您的项目文件中:
<Target Name="AfterBuild">
<MSBuild Condition="'$(DeployOnBuild)'!='true'" Projects="$(MSBuildProjectFullPath)" Properties="DeployOnBuild=true;PublishProfile=Local;BuildingInsideVisualStudio=False"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
值PublishProfile(Local在上面的例子)是发布配置要运行的名称。
来源:
https : //www.dotnetcatch.com/2017/03/24/publish-webdeploy-automatically-with-vs-build/
/sf/answers/2928130341/
Rami 的解决方案有效,但它需要另一个“构建”通道。虽然这实际上不会重新编译,但如果您的解决方案很大,它仍然会导致不必要的延迟。
您无法触发 Web 发布,DeployOnBuild因为它在从 Visual Studio 构建时会自动禁用。
但是,您可以通过一些 MSBuild 技巧,在同一 MSBuild 调用中触发该过程:
<!-- In Directory.Build.props or the csproj (before the web targets import) -->
<PropertyGroup>
<PublishProfile>Local</PublishProfile>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
并且:
<!-- After the above, or in ProjectName.wpp.targets -->
<PropertyGroup>
<AutoPublish Condition="'$(AutoPublish)' == '' and '$(Configuration)' == 'Debug' and '$(BuildingInsideVisualStudio)' == 'true' and '$(PublishProfile)' != ''">true</AutoPublish>
<AutoPublishDependsOn Condition="'$(AutoPublish)' == 'true'">
$(AutoPublishDependsOn);
WebPublish
</AutoPublishDependsOn>
</PropertyGroup>
<Target Name="AutoPublish" AfterTargets="Build" DependsOnTargets="$(AutoPublishDependsOn)">
</Target>
Run Code Online (Sandbox Code Playgroud)
如果您发现在进行内容更改时未构建发布项目,请添加以下内容:
<!-- csproj ONLY, won't work elsewhere -->
<PropertyGroup>
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
尝试像下面这样,
msbuild mysln.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
Run Code Online (Sandbox Code Playgroud)
您必须将以下内容作为构建参数传递到项目属性中。
/p:DeployOnBuild=true
/p:PublishProfile=<profile-name>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6818 次 |
| 最近记录: |