如何在源代码管理下的VS解决方案中使用程序集并保持程序集更新?

时间:2012-05-22 12:43:25

标签: visual-studio-2010 tfs2010 assemblies

(我不再想要答案了.OML,我的英语肯定有所提高......)

如何在源代码管理下的VS解决方案中使用程序集并保持程序集更新? (源代码控制由codeplex和VS默认选项提供。) 我的意思是,我有一个名为HyperAero的项目。 我有另一个名为TestAnimation的项目。 TestAnimation受源代码控制,需要超级飞行。 当我签入时,HyperAero.DLL将不会保存在服务器中。当然,我可以将hyperaero.dll作为文件添加到我的解决方案中,但我希望它能够自动更新我在HyperAero项目中的更改。 我该怎么办? 回答(自己动手): 命令: robocopy“E:\ Documents \ My VS \ Fix soft HyperAero Form \ Fix soft HyperAero \ bin \ Release”“E:\ Documents \ My VS \ Fix soft Animation Maker \ Test of Maker \ DLLs”“* .DLL” 设rce =%errorlevel% 如果不是%rce%== 1退出%rce%else退出0

类似问题(请记住,我希望我的程序集保持更新): 在visual studio项目中使用自定义程序集时。如何使用项目检查源代码管理中的那些程序集,以便任何人都可以立即下载项目并构建。

3 个答案:

答案 0 :(得分:1)

有两种方法可以解决这个问题:

1 /不要将程序集依赖项放在源代码管理中,而是始终在解决方案中包含Visual Studio项目。在您的情况下,您将拥有Hyperaero项目和TestAnimation项目的解决方案,该项目具有项目依赖性到Hyperaero项目。

这样,您不必将生成的DLL放在源代码管理中,并在每次更改代码中的内容时保持更新。

2 /如果你真的想要解散两个项目,那么我建议你使用Nuget并为Hyperaero项目构建一个Nuget包,然后在你的TestAnimation项目中引用Nuget包。这种方法是最干净的,但它可能有点矫枉过正,最后它不是你能快速设置的东西(与1 /)相比。

答案 1 :(得分:0)

  1. 将两个项目放在同一个解决方案中并添加项目参考。

  2. 使用源代码管理的UI /命令行添加DLL文件。

答案 2 :(得分:0)

您使用什么源代码管理软件?

如果您使用subversion

  • ankhsvn(Visual Studio插件)可以在一个解决方案中处理多个数据库。

我有以下结构。

- App1\
  App1.sln
  App1Forms\
    App1Forms.csprj
- App2\
  App2Dll\
    App2Dll.csprj

现在,如果我打开App1.sln并将文件夹结构之外的App2Dll添加为项目,则项目将作为相对路径链接。我很好,如果我检查两个来源到同一个父目录。

Ankh意识到这一点,如果我点击update,两个项目都会得到更新。 如果我想提交更改,我只允许一次提交到一个存储库,但是,ankh再次通知我。

另一种方法是使用svn-externals http://svnbook.red-bean.com/en/1.0/ch07s03.html 这将透明地将一个存储库包含在另一个存储库中。