但是ftp的部署非常非常缓慢。如何将该文件夹作为“程序包”部署?
实际上,FTP部署包含许多文件的文件夹会比较慢。因为它仅打开一个线程,并且一次仅上传一个文件。您可以考虑通过MSBuild目标将该文件夹压缩:
<ItemGroup>
<Content Include="app\**\*.*" />
</ItemGroup>
<Import Project="..\.build\MSBuild.Community.Tasks.Targets" />
<Target Name="AfterBuild">
<PropertyGroup>
<ZipPackagePath>bin</ZipPackagePath>
</PropertyGroup>
<Zip Files="@(Link)" WorkingDirectory="$(ZipPackagePath)" ZipFileName="output\ZipName.zip" ZipLevel="9" />
</Target>
注意:您需要添加nuget包“ MSBuildTasks”,并且可以将ReleasePath更改为其他文件夹。
但是在FTP部署后,您仍然需要解压缩该zip文件。
也许我可以将其动态包含到csproj文件中,或者其他?
或者,您可以将其动态地添加到您的项目文件中,这是我们的建议。
为此,请卸载您的项目。然后,在项目的最后,在结束标记之前,在脚本下面放置:
<Target Name="AddAppFiles" AfterTargets="Build">
<ItemGroup>
<Content Include="app\**\*.*" />
</ItemGroup>
</Target>
发布后,应用文件夹包含在目标位置:
注意:
使用此目标,该文件夹app
不会出现在解决方案资源管理器中(动态包含)。
如果app
文件夹是在构建完成后生成的,则可以将更AfterTargets="Build"
改为BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
,例如:
<Target Name="AddAppFiles" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句