(我不再需要答案。OML,我的英语肯定进步了……)
如何在VS解决方案中使用源代码管理下的程序集并保持程序集的更新?(源代码控制由codeplex和VS默认选项提供。)我的意思是我有一个项目叫HyperAero。我还有一个名为TestAnimation的项目。TestAnimation处于源代码控制之下,需要额外的支持。当我签入时,HyperAero.DLL不会保存在server.Of课程中,我可以将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 Animation Maker\DLL”"*.DLL“”如果不是DLL,则设置rce=%errorlevel%退出%rce%否则退出0
类似的问题(请记住,我希望我的程序集保持更新):在visual studio项目中使用自定义程序集时。如何使用项目签入源代码管理中的那些程序集,以便任何人都可以下载项目并立即构建。
发布于 2012-05-22 20:48:14
发布于 2012-05-22 21:13:12
有两种方法可以解决这个问题:
1/不要将程序集依赖项放在源代码管理中,并始终将其Visual Studio项目包含在您的解决方案中。在您的例子中,您应该有一个解决方案,该解决方案包含Hyperaero项目和TestAnimation项目,其中包含对Hyperaero项目的项目依赖。
这样,您就不必将生成的DLL放在源代码管理中,并在每次更改代码时保持更新。
2/如果你真的想要分离这两个项目,那么我建议你使用Nuget并为Hyperaero项目构建一个Nuget包,然后在你的TestAnimation项目中引用Nuget包。这种方法是最干净的一种,但它可能有些过头了,而且最后它不是你可以快速设置的东西(与1/相比)。
发布于 2012-05-22 20:52:42
你使用什么源码控制软件?
如果您正在使用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,它将透明地将一个存储库包含在另一个存储库中。
https://stackoverflow.com/questions/10702269
复制相似问题