Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 如何让Subversion使用自动生成的文件?_Svn_Tortoisesvn_Visualsvn_Web Deployment Project - Fatal编程技术网

Svn 如何让Subversion使用自动生成的文件?

Svn 如何让Subversion使用自动生成的文件?,svn,tortoisesvn,visualsvn,web-deployment-project,Svn,Tortoisesvn,Visualsvn,Web Deployment Project,我将ASP.NET Web部署项目与TortoiseSVN和VisualSVN一起使用,但这是有关Subversion中生成的文件的一般问题 Web部署项目自动生成网站的并行“部署”版本,将所有代码剥离并编译成单个程序集。我的文件结构是: 主干 主干/MyProject(网站根目录) 主干/MyProject\u部署(部署项目根目录) Trunk/MyProject\u部署/发布(部署网站根目录,自动生成) 问题是:MyProject\u部署/发布在构建时重新生成(在发布模式下)。目录被删除

我将ASP.NET Web部署项目与TortoiseSVN和VisualSVN一起使用,但这是有关Subversion中生成的文件的一般问题

Web部署项目自动生成网站的并行“部署”版本,将所有代码剥离并编译成单个程序集。我的文件结构是:

  • 主干
  • 主干/MyProject(网站根目录)
  • 主干/MyProject\u部署(部署项目根目录)
  • Trunk/MyProject\u部署/发布(部署网站根目录,自动生成)
问题是:MyProject\u部署/发布在构建时重新生成(在发布模式下)。目录被删除并重新创建,因此我丢失了所有的.svn元数据;当我去提交时,我会得到“阻塞”状态,我已经查过了,这意味着服务器上有一个与托管文件夹同名的非托管本地文件夹

(我可以忽略发布文件夹,但我想直接从Subversion服务器进行FTP部署。)


在Subversion中处理自动生成的文件的最佳方法是什么?

如果使用Visual Studio,是否可以定义生成前和生成后事件,以在生成之前将.svn目录移出发行版,然后在生成之后返回?

设置svn:ignore属性。不要将它们添加到版本控制系统中。构建过程生成的任何内容都不属于那里。真正需要做的是完成构建过程所需要的事情


我建议在混合中添加一个连续的Integration服务器,如CruiseControl.NET,它可以从源代码构建项目,然后从源代码进行部署。这将使您能够使用2个最佳实践而不是1个,并且仍然可以解决您的问题

使用安装项目创建Windows Installer输出时,这也是一个问题

一个选项是更改输出文件名,以便将生成的文件转储到部署项目根目录中,而不是转储到名为“Release”的子文件夹中

在安装项目中,我生成了一个MSI文件,效果很好-没有删除/重新创建任何文件夹,因此没有SVN错误,而且部署项目根文件夹中只有两个文件,因此是干净的