从visual studio

时间:2016-11-23 15:05:27

标签: visual-studio-2015 webdeploy

所以请快速浏览一下我的设置。我正在使用visual studio 2015,该项目是一个mvc Web应用程序,我正在使用Web部署来发布该站点。

目前我在发布资料中设置了这些选项

publish profile

基本上我的问题是我在生产环境中有一些文件夹和文件,我想保留,但同时我想删除我的项目中不再存在的其他文件。

例如,我们将数据库连接保存在站点根目录中的单独文件“web.connectionstrings.config”中。此文件位于我的项目中,但内容设置为none(这是因为文件未检入源代码控制,因此我不想发布它)。但正因如此,它还希望在目标服务器上删除它。

另一个例子是logs文件夹。我不想在生产服务器上删除它,但因为这个文件夹是自动生成的而不在我的项目中,所以它想删除它。

我已关注此链接https://www.asp.net/web-forms/overview/deployment/advanced-enterprise-web-deployment/excluding-files-and-folders-from-deployment

但是我得到以下错误

  

Web部署任务失败。 (无法识别的跳过指令'skipaction'。必须是以下之一:“objectName”,“keyAttribute”,“absolutePath”,“xPath”,“attributes ..”)

我也遵循了这个答案https://stackoverflow.com/a/29688263/5878196

但是这会产生与上面相同的错误。

我尝试使用以下行直接编辑.csproj文件

<ExcludeFilesFromDeployment> Web.ConnectionStrings.config;Web.secrets.config; </ExcludeFilesFromDeployment> <ExcludeFoldersFromDeployment> logs </ExcludeFoldersFromDeployment>

但这似乎被忽略了。

仅供参考,我也尝试了这个包https://github.com/ligershark/publish-ignore

我做的任何事情似乎都被忽略了。

我只是想知道是否有人有任何建议或更好的方法。感谢

1 个答案:

答案 0 :(得分:0)

通过AppVeyor部署Web项目解决了这个问题,AppVeyor跳过了功能中内置的文件/文件夹。