1

我正在使用 SVN 对我正在处理的 ASP.NET Web 项目进行版本控制。我最近决定尝试对该站点的已发布版本进行版本控制。我将这些与分支根目录中代码的标记发布版本一起提交到存储库。事实证明这很有用,因为我可以使用 SVN 部署到我的服务器。

我面临的问题是我必须对项目的 /bin 文件夹(没有外部引用的 DLL)中的一些文件进行版本控制,该文件夹创建了一个 /bin/.svn 文件夹。问题是 VS.NET 的 Publish 命令坚持将 .svn 从开发分支 /bin 复制到输出文件夹的 /bin。这基本上“切换”了那里的二进制文件以指向 dev 分支。结果是 /bin 文件夹的内容实际上永远不会提交到已编译的 bin 文件夹,因为工作副本指向存储库的不同部分。

有什么方法可以强制 Visual Studio 在发布时忽略 .svn 文件夹?或者,是否有另一种方法来处理在项目中包含静态 .dll 而无需将它们放入 bin 文件夹中,以便 /bin 可以从 SVN 中排除(应该如此)(不使用 GAC)?

4

3 回答 3

7

绝对不要bin 文件夹放在存储库中。这会让你永远做噩梦。

只需将静态引用的 .dll 文件放在名为“Libraries”的文件夹或其他文件夹中,然后将项目引用设置为它们。它们将被自动复制到输出中。

于 2009-08-06T06:57:33.703 回答
3

我建议您不要对 .bin 文件夹中的任何内容进行版本控制。而是将所有引用的程序集放在项目文件夹之外的文件夹中。然后部署它并在任何地方构建它。构建过程将根据需要拉入所有 dll。然后,这将解决您的 .svn 文件夹中的 bin 文件夹问题!

于 2009-08-06T06:55:15.237 回答
2

嗯..将它们放入解决方案中的单独文件夹并引用它们。现在为什么我没有想到这一点(doh!)。想我一直盯着屏幕太久了。

谢谢大家。

于 2009-08-06T10:03:44.547 回答