MsDeploy:在一个解决方案中有2个Web应用程序

时间:2015-03-13 14:10:13

标签: c# msdeploy

这是我当前的设置:我有一个解决方案(sln文件),它在一个文件夹中容纳2个c#web应用程序。 当我发布带有参数SkipExtraFilesOnServer=True的解决方案时 - 它正确传递。 但是,这样的方法并不像看起来那么好 - 它从服务器上的解决方案文件中删除,并且在最坏的情况下(使用程序集重命名重构)可能会在部署后将应用程序保留为不可用状态。

所以,我想用SkipExtraFilesOnServer=False交付,将清理和实际部署留给MsDeploy。 但是,在这种情况下,第二个Web应用程序会清除所有内容,而不会添加到其中。 是否可以在后续构建Web应用程序上覆盖SkipExtraFilesOnServer=False,如果它在第一个应用程序上是SkipExtraFilesOnServer=False

1 个答案:

答案 0 :(得分:0)

我找到了解决这种不太可能发生的问题的方法。 在每个额外的Web应用程序中,应在csproj / vbproj文件的末尾添加以下内容:

  <Target Name="BeforeBuild">
<PropertyGroup>
    <SkipExtraFilesOnServer Condition="!$(SkipExtraFilesOnServer)">True</SkipExtraFilesOnServer>
</PropertyGroup>

或者,如果已经定义了目标BeforeBuild,则添加到它:

<PropertyGroup>
    <SkipExtraFilesOnServer Condition="!$(SkipExtraFilesOnServer)">True</SkipExtraFilesOnServer>
</PropertyGroup>