gpt4 book ai didi

c# - 如何使用 sharpsvn 正确生成复杂的外部结构?

转载 作者:行者123 更新时间:2023-11-30 12:55:08 25 4
gpt4 key购买 nike

我有一个使用 subversion 的非常复杂的存储库结构。这在很大程度上与我的团队的局限性、安全要求和项目的依赖性有关。因此,此处使用的结构不是可选的,不能更改。

存储库结构由以下模式组成:

root-|- main -|- branches
| |- tags
| |- trunk - main - plugins
|
|- modules -| - module1 -|- branches
| |- tags
| |- trunk - module1 - plugins - plugin1
| |- modules - ...
|
| - module2 -|- branches
| |- tags
| |- trunk - module2 - plugins - plugin2
| |- modules - ...

每个外部源都是一个pluginX文件夹。目标是下一级trunk的plugins文件夹(或main的plugins文件夹)。不幸的是,API 的文档几乎不存在。我怀疑我需要以某种方式使用 propset 函数,但是在我能找到的任何地方都没有描述如何指向特定的目标目录和源目录,也没有找到任何示例。

编辑:每个模块都可以单独拉取并独立于根项目工作。我不能只为此使用根。见鬼,我什至无法得到对这个问题的敌意回应!!

最佳答案

在“根”文件夹中创建文件夹build,并使用相对路径 来引用解决方案中的项目,然后配置其输出文件夹 的所有项目code> 到build\xxx 文件夹,所有输出文件夹也是相对路径。在主程序中,配置assembly bindings再次使用相对路径。使用这种模式,无论谁下载 repo,他们都可以将项目编译到相同的根文件夹,并使用相同的配置进行调试。

对于非常复杂的依赖,比如A=>B=>C=>D,第一次打开方案A,如果B/C/D没有编译,没有被引用,那么A会出现引用警告,你必须打开并编译 B&C&D,然后 A 才能工作。但通常情况下,我们应该将B/C/D添加到解A中,这样,第一次打开就不会再出现错误了。

有时,有些源代码并不对所有开发人员开放,因此他们只能获得编译后的 dll,对于这些 dll,我们需要另一个文件夹(如“tools”),其中包含源代码服务器中所有已编译的程序集。我们在我们的解决方案中添加带有相对路径文件引用,并将它们配置为"Copy to local"=true

对于许多项目,我们将使用构建后或构建前事件从某处加载或复制文件,它们也都必须是相对路径。

关于c# - 如何使用 sharpsvn 正确生成复杂的外部结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345319/

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