0

(我不再想要答案了。OML,我的英语肯定进步了……)

如何在源代码控制下使用 VS 解决方案中的程序集并保持程序集更新?(源代码控制由 codeplex 和 VS 默认选项提供。)我的意思是,我有一个名为 HyperAero 的项目。我有另一个名为 TestAnimation 的项目。TestAnimation 受源代码控制,需要 hyperaero。当我签入时,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 Animation Maker \DLLs" "*.DLL" set rce=%errorlevel% if not %rce%==1 exit %rce% else exit 0

类似问题(请记住,我希望我的程序集保持更新):在 Visual Studio 项目中使用自定义程序集时。如何在项目的源代码控制中签入这些程序集,以便任何人都可以下载项目并立即构建。

4

3 回答 3

1

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

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

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

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

于 2012-05-22T13:13:12.020 回答
0
  1. 将两个项目放在同一个解决方案中并添加项目引用。

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

于 2012-05-22T12:48:13.847 回答
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 它将透明地包含一个存储库中的另一个。

于 2012-05-22T12:52:41.560 回答