Azure Web角色部署不会复制非项目文件

时间:2015-09-11 19:00:27

标签: azure

我们正在尝试将AngularJs网站部署到使用gulp构建的azure。所以我们在源应用程序中开发并gulp将文件复制到dist项目。 dist项目是Azure云源Web角色。 “已编译”的文件位于项目文件夹中,但由于某种原因,它们不会被复制。

我们启用了选项属性 - > Package / Publich Web - > 此项目文件夹中的所有文件

部署后我只看到packes.config,web.config和bin文件夹。我们需要做些什么来部署其余的文件吗?

1 个答案:

答案 0 :(得分:1)

是的,gulp生成的文件实际上并不是项目的一部分(包含在xx.csproj文件中),这就是“所有文件......”不起作用的原因。我们通过向项目文件添加一些自定义目标来实现这一目标 - 我们的gulp文件位于名为“dist”的文件夹中。

卸载项目>>编辑...然后包含以下内容:

  <Target Name="CustomCollectFiles">
    <ItemGroup>
      <_DistFiles Include="dist\**\*" />
      <FilesForPackagingFromProject Include="%(_DistFiles.Identity)">
        <DestinationRelativePath>dist\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
      <_SrcFiles Include="src\**\*" />
      <FilesForPackagingFromProject Include="%(_SrcFiles.Identity)">
        <DestinationRelativePath>src\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
  <PropertyGroup>
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>
.
.
.
  <Target Name="AfterBuild" DependsOnTargets="CustomCollectFiles">
    <Copy SourceFiles="@(_DistFiles)" DestinationFolder="dist" />
  </Target>