部署到Azure云服务时,是否可以包含额外的文件(未包含在ASP.NET / WebRole项目中)?
该项目是单页应用程序,我需要包含~500 kb的静态文件(主要是JavaScript和CSS);在这种情况下使用CDN听起来有点像矫枉过正。
将标准ASP.NET部署到远程IIS时,我只是通过使用CustomCollectFiles扩展发布配置文件设置(pubxml)来包含这些文件。
我不知道如何在部署到云服务时包含文件
答案 0 :(得分:0)
默认情况下,CustomCollectFiles对你不起作用,但对你的.csproj进行了一些改动,你可以支持这个
根据Azure web role deploy does not copy non-project files
<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>
另一种选择可能是将这些文件包含在链接的文件/文件夹中(如果它应该有效)。