(我不再想要答案了.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项目中使用自定义程序集时。如何使用项目检查源代码管理中的那些程序集,以便任何人都可以立即下载项目并构建。
答案 0 :(得分:1)
有两种方法可以解决这个问题:
1 /不要将程序集依赖项放在源代码管理中,而是始终在解决方案中包含Visual Studio项目。在您的情况下,您将拥有Hyperaero项目和TestAnimation项目的解决方案,该项目具有项目依赖性到Hyperaero项目。
这样,您不必将生成的DLL放在源代码管理中,并在每次更改代码中的内容时保持更新。
2 /如果你真的想要解散两个项目,那么我建议你使用Nuget并为Hyperaero项目构建一个Nuget包,然后在你的TestAnimation项目中引用Nuget包。这种方法是最干净的,但它可能有点矫枉过正,最后它不是你能快速设置的东西(与1 /)相比。
答案 1 :(得分:0)
将两个项目放在同一个解决方案中并添加项目参考。
使用源代码管理的UI /命令行添加DLL文件。
答案 2 :(得分:0)
您使用什么源代码管理软件?
如果您使用subversion
:
我有以下结构。
- 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 这将透明地将一个存储库包含在另一个存储库中。