我的azure网站项目中有src文件和dist /文件夹。
project
|- src/
|- dist/
默认行为会上传项目内的所有文件,即src和dist。
website
|- src/
|- dist/
我希望网站保持干净,只有dist文件。
website
|- dist/
如果我可以将dist文件夹映射到网站,那就更好了。
website
|- all the files
|- in dist folder
我该怎么办?
我知道我只能通过右键单击文件夹发布一个特定文件夹,然后发布"。但该网站还包含需要部署的bin /文件夹中的一些dll。
我尝试创建一个单独的azure网站项目,该项目只保存dist文件夹,但我不知道如何在部署中包含src项目中的dll。
答案 0 :(得分:2)
根据您的要求,我假设您可以在将网站部署到Azure之前修改发布配置文件并添加一些MSBuild任务。这是我的测试,你可以参考它。
项目结构
修改您的发布个人资料
您可以使用RemoveDir定义目标,移动任务并将其放在发布配置文件中的PropertyGroup之后,如下所示:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="MoveDistToRoot" AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
<!--1.Deleting Folders except dist-->
<ItemGroup>
<_FolderToDelete Include="$(_PackageTempDir)\src" />
<!--you could add more folder paths as follows:-->
<!--<_FolderToDelete Include="$(_PackageTempDir)\folderName" />-->
</ItemGroup>
<RemoveDir Directories="@(_FolderToDelete)" />
<!--2.Copying files,folders from dist to root directory-->
<ItemGroup>
<_FileToMove Include="$(_PackageTempDir)\dist\**" />
</ItemGroup>
<Move SourceFiles="%(_FileToMove.Identity)" DestinationFolder="$(_PackageTempDir)\%(RecursiveDir)" />
<!--3.Deleting the empty folder dist-->
<RemoveDir Directories="$(_PackageTempDir)\dist" />
</Target>
</Project>
根据更改,您可以使用修改后的发布配置文件将您的网站部署到Azure Web App,并尝试通过KUDU检查Azure上的Web应用程序的结构。