我有一个项目,我正在Visual Studio 2015中通过Google Cloud Tools for Visual Studio部署到Google Compute Engine。
除了一件事之外,这一切都运行良好:
我在"实时"站点上有一个上传的资产文件夹。 这包含通过网站在线上传的图像。 我在VS中的本地副本没有所有这些资产,但文件夹结构是镜像的。
问题所在
当我发布时,上传的资产文件夹中的某些文件会在活动站点上被删除。
我希望"发布"操作忽略此文件夹,因为它的实时服务器版本应保持不变。我可以这样做吗??
从Google Cloud Tools for Visual Studio 1.4.0版本开始,不,没有好的方法可以做到这一点。该扩展使用一组硬编码参数调用 MSDeploy。
我建议的解决方法是使用 MSBuild 发布配置文件。
在创建配置文件之前,您需要 GCE 虚拟机的公共 IP,以及该虚拟机的用户名和密码设置。您可以从Google Cloud Explorer获取这些内容。公共 IP 位于 VM 的属性中,可以从"管理 Windows 凭据..."在 VM 的上下文菜单中。
现在创建配置文件。右键单击您的项目,然后选择"发布..."。选择">IIS,FTP等",然后按"创建配置文件"。使用 VM 的公共 IP 作为服务器,以及之前获取的用户名和密码。
创建发布配置文件后,您可以使用此答案忽略所需的目录。
此解决方案的缺点是,当 VM 的公共 IP 发生更改时,需要更新目标 IP。
附言下一版本的Google Cloud Tools for Visual Studio将调用MSBuild,而不是直接调用MSDeploy,因此您可以通过更改构建文件来忽略该文件夹。