|
|
1
7
既然你提到SVN,你可以用 externals 将框架项目“导入”到使用它的每个解决方案的工作副本中。这将导致如下布局:
使用此解决方案,您可以在使用MyFramework的每个解决方案中获得MyFramework的源代码。优点是,您可以在每个解决方案中更改MyFramework的源代码(无需切换到其他项目)。 :同时,这也是一个巨大的缺点,因为在为另一个解决方案修改框架时,很容易破坏某些解决方案的框架。 出于这个原因,我最近放弃了这种方法,现在将我们的框架项目视为一个完全独立的解决方案/产品(有自己的发布时间表)。然后,所有其他解决方案都包括框架项目二进制文件的特定版本。 这确保了对框架库所做的更改不会破坏任何重用库的解决方案。对于每个解决方案,我现在可以决定何时更新到更新版本的框架库。 |
|
|
2
4
听起来像是一场灾难。。。你如何处理开发人员撤销/破坏他人的工作。。。
您只需构建MyFrameWork(构建后事件可以运行GacUtil将其放入assembly缓存),然后构建另一个项目。 |
|
|
3
2
“最佳方式”取决于您的环境。我在一个基于TFS的持续集成环境中工作,夜间构建将二进制文件部署到共享中。所有从属项目均指该份额。当速度变慢时,我构建了一些工具,允许开发人员拥有共享二进制文件的本地副本,而无需更改项目文件。 |
|
|
4
2
12种解决方案中的任何一种都需要定期更改“框架”代码吗?
由于一个解决方案对框架所做的更改将影响所有其他解决方案,因此会出现中断,您必须处理这些中断。 一旦您在解决方案中工作时很少需要更改框架(这应该是您的目标),那么我将包含对框架dll的引用,并仅在需要时更新每个解决方案中的dll。 |
|
5
2
svn:externals 如果你遵守一些规则,你会很好地处理这个问题。 首先,如果对svn:externals定义使用相对URI(以^character开头),并尽可能将项目放在同一个存储库中,则更安全。这样,即使subversion服务器被移动到新的URL,这些定义也将保持有效。
|
|
|
6
1
您可以做的是为依赖项创建一个发布包,将path env变量设置为自身。我会允许机器上存在多个版本,然后依赖项目链接/引用特定版本。 差不多
虽然不漂亮,但很管用。 |
|
7
1
svn-external 以便导入的项目与其他项目平行。原因如下。
您甚至可能在树中拥有单个项目的多个副本 . 这显然不是你想要的。
此外,如果您的项目使用
NuGet
此外,如果您使用
Git
将所有项目放在同一层上的另一个好处是,您可以创建一个“超级解决方案”,其中包含来自所有解决方案的项目(通过Git或svn external跟踪),从而允许您 .
|
|
|
oohidn · 将项目更改为运行VS2012 C++ 8 年前 |
|
|
jason · 打开现有cpp文件时,Visual Studio中没有生成菜单 10 年前 |
|
|
Rooney · 向asp.net的解决方案文件添加新文件 11 年前 |