gpt4 book ai didi

.net - 有什么技巧可以使我的项目每次都以全新的结帐方式进行编译?

转载 作者:行者123 更新时间:2023-12-04 18:17:34 28 4
gpt4 key购买 nike

比我想承认的要多的时间是,我曾经有一个新来的项目人员进行结帐,只是发现他们缺少各种资源,dll,设置。我想养成适当的习惯,使我的项目编译像从新 checkout 一样顺利进行。

关于如何构造我的项目的一些技巧或建议有哪些,这样它们就不会在从版本控制中重新 checkout 时出现编译问题?

我已经开始在项目中保留一个“Resources”文件夹,该文件夹在源代码管理中包含所有需要的dll引用。其他人可以提出一些建议吗?

最佳答案

假设您处于Visual Studio环境中,那么您可能会发现一些有用的东西,当然YMMV并请注意,我们使用Subversion,但是任何VCS工具都应该这样做。

  • 将所有(或尽可能多的)依赖项置于版本控制下,并在项目中引用它们。我们使用Subversion外部组件进行管理。
  • 不要版本控制标准输出目录(bin,obj),即使用svn:ignore
  • 同样,忽略版本控制用户项(* .user,*。suo)
  • 也不要版本控制配置文件(App | Web.config),而是创建一个App.default.config,然后在项目的BeforeBuild任务中将此文件复制到App.config。这使您可以通过使用RegEx和 token 为每个开发人员或构建服务器设置编译程序来实现幻想,还可以删除CI构建上的任何现有App.config文件,以确保每次都进行原始构建。这也使开发人员可以随意修改配置,而不必在准备好之前干扰其他所有人,即更新App.default.config。
  • 版本控制其他所有内容:)
  • 如果由于编译而需要版本控制二进制文件(MSI,DLL输出等),请在AfterBuild目标项目(wixproj等)中将输出复制到另一个受版本控制的目录中。使用Subversion的一个技巧是,您可以添加/提交到svn:externals目录,该目录允许您将库等推送到项目中以引用它们。

  • 最后提示-完成干净的 checkout 并成功编译后,请检查工作副本中是否有任何修改,例如TortoiseSVN->检查修改。如果检测到更改,则可能需要忽略这些文件。

    关于.net - 有什么技巧可以使我的项目每次都以全新的结帐方式进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/437633/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com