我有一个解决方案,我正在尝试创建第二个可执行文件。这两个可执行文件共享大部分相同的文件,但有一些不同的文件,包括资源和应用程序图标等。
我创建了第二个项目,并将项目添加为链接。:
- 右键单击“添加现有项目”,
- 浏览它,
- 单击“添加”下拉菜单并选择“添加为链接”。
添加为链接意味着它只是引用另一个文件夹中的另一个文件而不复制它。
现在,当我尝试提交我的项目时,VisualSVN / SVN 尝试在它们所属的逻辑路径中对这些文件进行 SVN 添加,导致很多错误,即找不到文件。它导致整个提交失败,并且是一个主要的痛苦。
有没有一种好方法可以添加文件链接而不会产生副作用?我试图链接到的所有文件都已经在同一个仓库中。
更新
也许我应该添加更多关于我正在努力完成的信息,因为我愿意接受任何有助于我完成它的建议。
我有一个类似这样的项目结构......或者我希望它是这样的......
我的项目 /常见的 业务数据对象(svn:外部) 控件库(svn:外部) 其他CommmonLib1 (svn:external) 其他CommonLib2 (svn:external) /模块 模块1 模块2 模块3 ... 应用1 Application2(共享所有 App1 的文件,除了不同的 .resx、图标、名称、其他细微差别) SetupProject1(包括 app1 和某些模块 dll) SetupProject2(包括 app2 和某些模块 dll)
该应用程序基本上是一个空壳(使用 Prism),它加载安装在 /modules 文件夹中的模块。我希望两个应用程序几乎相同,但我希望它们具有不同的名称和不同的图标。我想我可以通过将第一个项目中的文件作为链接添加到第二个项目中来实现这一点,并简单地交换一个资源文件,其中包括应用程序窗口标题、关于对话框等的字符串。但是然后是 VisualSVN 或任何尝试 SVN添加那些我没想到的项目。
我需要能够开发模块和应用程序的外壳项目。它们在任何方面都不稳定。我只是希望它们彼此接近,但命名差异很小。我认为有两个应用程序项目,我可以有两个设置项目,其中包括每个应用程序的输出以及应该包含在该软件程序版本中的任何模块。
我试图使它尽可能万无一失,并且我想避免必须更新对同一项目的外部引用。(我对此也有点困惑,我会 svn:external 到同一个repo 吗?)这听起来不太好,但这是我关于如何创建两个几乎相同的应用程序的主要想法。如果我不能让我的版本控制软件正常运行,我不确定我会怎么做。
我曾口头建议我们只有一个版本的软件,并升级某些模块,但有一些很好的理由他们不能真正做到这一点。