标签: code-sharing

如何在Visual Studio中的项目/解决方案之间共享代码?

我有两个解决方案,它们有一些共同的代码,所以我想把它解压出来并在它们之间分享.此外,我希望能够独立发布该库,因为它可能对其他人有用.

  • 使用Visual Studio 2008的最佳方法是什么?
  • 项目是否存在于多个解决方案中?
  • 对于单独的代码,我是否有单独的解决方案?
  • 解决方案可以依赖另一个吗?

.net visual-studio code-sharing

219
推荐指数
13
解决办法
20万
查看次数

在几个项目之间共享c#类源代码

我编写了一个类来处理我的应用程序中的内部日志记录.现在我想在另一个新的,完全独立的项目中使用这个类.

我可以简单地将文件复制到新的项目文件夹,但我希望只保留一个副本,以便其中的所有更改将适用于两个项目.

我可以使用"添加现有文件",但是我在哪里放置文件以便下一个开发人员知道它是必需的.我曾经有一个"共享"文件夹,但有一次该文件夹没有进入下一个开发计算机.

组织这个的最佳方法是什么,以便它对新的维护者最有意义,并最大限度地降低项目中断链接的风险.

c# visual-studio code-sharing

36
推荐指数
4
解决办法
4万
查看次数

同一个svn存储库的不同git-svn克隆是否可以分享更改然后git svn dcommit?

我在网上看过很多"从svn转到git"和其他"git-svn工作流程"的文章,但我认为它们经常处理过于简单的情况.它们通常针对那些只想在本地使用git和hack的人,而不是使用git的全部功能,比如在多个开发人员之间使用git-svn克隆svn存储库时的pull,fetch,merge等,然后仍然希望能够随时将他们的更改推送到(官方)svn存储库,然后回到git工作并分享他们的东西等.

每当这些文章承认你不能做你在纯git中所做的一切时,后果和可能的搞砸都没有明确解释(或者也许只是我?).即使是git-svn手册页也提到了警告,但并没有真正广泛地提及.

基于我所读到的内容,我觉得当git-svn以特定方式使用时可能会出现问题,我将在下面介绍.有人可以告诉我,我是对的吗?

这是"通缉"的做事方式:

  1. 我们在svn存储库中有一个项目
  2. 开发人员一个git-svn-clone是svn repo.他开始在当地破解东西
  3. 开发人员B git-svn-clone与svn repo相同.他开始自己破解东西.
  4. 在做了一段时间后,可能添加开发者C/D/...,并让其他开发人员做"标准"svn提交到原始回购,git用户想要分享他们的代码并做各种git魔术.
  5. 这些git用户中的任何一个都希望能够将现在合并的更改推送到svn(dcommit?)

我的问题是:我在做梦吗?我前段时间读过一本git书,我认为,git-svn-clone可以创建git存储库,当然它们是svn repo的"镜像",但是不同开发人员以这种方式创建的git存储库会有所不同" ids"和提交将有不同的哈希.所以我的理解是那些git repos不会共享任何常见的git祖先,因此无法使用共享,合并等所需的所有git命令.这是真的,我们是否会面临这个工作流程的问题?

有时我读到这可以完成,至少使用一个"官方"裸git存储库,这将是唯一一个git-svn-cloned,并且所有git用户都必须从这个开始.然后你需要一个负责这个中央git仓库的人,并在将所有东西都提交给svn repo之前收集git devs之间的变化.这将是git用户"不知道"原始git repo来自svn的唯一方法,并允许他们使用所有git命令.唯一需要精通git和svn(并且了解git-svn警告)的人将是"合并经理"(或者他称之为的任何人).

我完全误解了git-svn警告吗?有没有更简单的方法呢?

svn git git-svn code-sharing

33
推荐指数
2
解决办法
5619
查看次数

如何创建自己的android库并托管它

我正在创建一个登录屏幕,用于多个不同的Android应用程序.打包它的最佳方法是什么,以便其他人可以在他们的应用程序上使用我的登录功能.在我们进行更改的情况下,它最好是自动同步它们.***编辑****似乎将它打包成库模块是最好的选择.如何上传这个模块,以便如果我们对这个模块进行更新,它将无缝更新,而无需从github中取出.

谢谢!

java api android packaging code-sharing

27
推荐指数
2
解决办法
2784
查看次数

在Visual Studio中集中进行实时协作编辑

现在,在你向我提出关于SOF的重复问题之前,让我首先告诉你我正在寻找什么,我会解决其他问题和答案,以及为什么它不够.

问题#1:

我正在寻找一种方法来执行实时协作编辑,而源是在集中式源控制服务器上维护的.例如,如果Me和Joe Blow同时编辑文件X.cs,我们应该能够在输入时看到彼此的编辑.几乎就像我们坐在同一台电脑上一样.现在采取以下场景:我和Joe离线,Nimha Smith决定她想要更新一些代码.当我第二天回到网上时,我被推送了Nimha在我睡觉/离开服务器时更新的代码.

这是现场协作理念和SVN等源控制系统的结合.

解决可能的重复:

这里有一个类似的问题:.NET开发的协作编辑 - 有什么可能性,但它没有给我任何有用的东西,我将解释原因:

  • VsAnywhere:它通过一个中央公共服务器(正确的方向......?),除了所有相关方在加入会话之前需要在他们的机器上拥有完全相同的代码,并且一旦你离线,会话就会被破坏.
  • SourceMeet:使用P2P系统运行,因此没有服务器可以在离线时跟踪更改等等.没有尝试过,所以我无法证明它可以合并代码的程度(如果可以的话)
  • CollabEdit:不是VisualStudio
  • 云9:不是VisualStudio

显然这个问题这个问题直接关系到源控制软件,如SVN或GIT.现在,我试图让VSAnywhere和SVN一起玩得很好(SVN用于在离线时进行更改,而VSAnywhere用于在线开发人员)但它根本不起作用.

<edit>

我最近发现这个名为Collab的学士论文项目,这似乎是一个好主意,但我似乎无法让它尝试它.如果其他人有任何成功,请让我知道你做了什么.看起来如果我能让这个协作项目工作,似乎是一个很好的开始创建符合我需求的东西.

<edit2>

我也遇到了BeWeeVee,它的服务有一个Visual Studio扩展,但它的所有链接都已经死了.而CodeALike这可能是他们的替代VS实时协作有一个FAQ条目解释它的实时功能已被删除,并在"未来"将被重新执行.

问题2:

现在这将我带到问题的第二部分,因为我完全意识到可能没有适合我的高级订单的程序.我在哪里可以开始自己实现这样的软件?是否有一些现有的开源源代码控制/实时编辑代码,我可以开始构建它来创建它?或者如果我想实现这个,我几乎从头开始陷入困境.而且我确信你可以通过标签看到我想在C#中处理这样的任务,如果我必须解决的话.

2017年更新

由于在评论中表达了一些持续的兴趣,我已经创建了一个gitter,我们可以聚集所有感兴趣的人,并可能使这成为现实:https://gitter.im/sof-centrailized-collab-editing/Lobby .

c# version-control real-time visual-studio-2010 code-sharing

14
推荐指数
1
解决办法
5980
查看次数

用于iOS和OS X开发的共享代码库

我们有一个相当丰富的电子学习应用程序,主要使用cocos2d构建.目前我们处于alpha状态并希望设置我们的项目结构,因此我们还可以构建一个Mac版本来定位Mac App商店.在UIKit中有大约80%的cocos2d和一些初始屏幕,必须移植到Mac(重写).

从单个代码库中定位Mac和iOS应用商店的建议设置是什么?我假设选择是:

  1. 在同一应用程序源代码根文件夹中创建2个xCode项目,并使用每个项目构建单个目标.这将是:Project.xcodeproj和ProjectMac.xcodeproj
  2. 将新的Mac目标添加到我们现有的iPad应用程序项目中,然后调整目标成员资格以获得所需的结果.这只是:Project.xcodeproj

更复杂的是,我们目前使用cocos2d作为iOS应用程序的静态库.我们还有一个名为CoreInfrastructure的库,它包含我们在所有项目中使用的大量代码.最近我发现我可以创建一个项目来同时构建一个面向Mac的框架和一个基于相同代码库的iOS库.这是通过从框架项目开始并添加目标来为iOS构建静态库来完成的.

所以只是想得到每个人的意见和见解.有人知道在上述选择中要注意的任何警告吗?任何为Mac和iOS应用程序商店构建的人都会同时分享他们的结构吗?在我们的库代码上添加一个目标...是应用程序的方法吗?

是否存在任何选择存档和分发版本的问题?

提前致谢.

macos xcode multiplatform code-sharing ios

14
推荐指数
2
解决办法
5618
查看次数

在WPF和Silverlight之间共享代码的最佳方式

我有一个包含Silverlight 4和WPF 4解决方案的解决方案.一个是应用程序的Web版本,一个是桌面版本.

这两个项目都有类似的域类和接口,都可以访问云存储和其他东西.

我想创建一个通用的Interfaces和Classes项目,所以我创建了一个类库,但是你不知道它,Silverlight不能添加对类库的引用.所以我创建了一个公共项目作为Silverlight类库,但是当我从WPF项目中引用它时,我收到警告:

Warning The project 'Interface.Common.Silverlight' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)

当我使用该库中的任何类时,我甚至得到类加载运行时错误,因为"在运行时找不到System.Windows"

我想在两个项目之间共享代码,如何以一种干净的方式实现这一目标?

谢谢你提供的所有帮助

c# silverlight wpf code-sharing

12
推荐指数
1
解决办法
3100
查看次数

使用便携式类库而不是使用"添加为链接"有什么好处?

是否有人向我解释使用便携式类库而不是使用"添加为链接"的优势是什么?

谢谢

.net code-sharing portable-class-library

12
推荐指数
1
解决办法
3733
查看次数

在git中共享两个项目之间的代码

我有两个紧密相关的项目(A和B),它们共享一些源代码(S).它们都将同时发布,发布的版本应始终使用相同版本的共享代码.共享代码S将经常合理地更改.

所以,有时会看起来像这样:

  • 版本1使用S版本1
  • B版本1使用S版本1
  • 版本2使用S版本2
  • B版本2使用S版本2

使用git(和/或一些使用git的工具)处理此问题的最佳方法是什么?

以下是我的担忧:

  • 项目A和项目B应该在不同的存储库中(它们是相关的,但我不希望它们之间有自由的代码流)
  • 如果在一个项目中更新共享代码,则应该在另一个项目中自动更新(我不希望在开发人员忘记执行某些操作并且最终拥有过时的共享代码版本时出现这种情况).

据我所知,其中一个规范的答案是"使用git submodule ".但是,我读到了一些关于这种方法的批评.我觉得它更适合共享很少改变的库.

我读到的另一种方法是使用git子树

还有一些不太受欢迎的方法:Repo,GitSlave

处理此类代码共享的最佳方法是什么?

git sharing code-sharing

7
推荐指数
1
解决办法
5569
查看次数

在Angular应用程序之间共享代码

我有一个现有的Durandal应用程序,实际上是两个应用程序纠缠在一起.

我想重写Angular中的应用程序,并希望区分应用程序共享公共代码.

我估计大约80%的代码可以共享.

如果可能的话,我想使用angular-cli.但我真的在寻找如何在Angular应用程序之间共享代码的最佳实践.

code-sharing angular-cli angular

7
推荐指数
1
解决办法
3349
查看次数