Mar*_*rst 4 filesystems dll dependencies
我最近加入了一家公司,这家公司多年来为他们提供了不同质量的开发人员.
已创建的项目依赖于其他项目的产出.但是,不是以正常方式创建依赖关系并维护代码,而是将DLL从一个地方复制到另一个地方并从那里引用.
有没有一种简单的方法可以将父文件夹下的所有DLL更新到整个文件夹范围内的最新版本(按时间戳)?
所以这个过程总结如下:
问题的步骤是2.
(我很清楚这可能会破坏东西)
我正在使用Visual Studio 2005和C#来创建DLL,但我想更新文件而不是代码.
Microsoft最佳实践建议是尽可能引用项目而不是DLL.
项目到项目参考和文件参考
文件引用是对程序集的直接引用; 使用"添加引用"对话框的"浏览"选项卡创建它们.项目到项目引用是对包含程序集的项目的引用; 您可以使用"添加引用"对话框的"项目"选项卡创建它们.
项目到项目引用的优点是它在构建系统中的项目之间创建依赖关系,因此,如果自上次构建引用项目以来它已经发生更改,则将构建依赖项目.文件引用不会创建构建依赖项,因此可以在不构建依赖项目的情况下构建引用项目,并且引用可能会过时(即,项目可以引用以前构建的项目版本).这可能导致bin目录中需要单个DLL的多个版本,这是不可能的.发生此冲突时,您将看到一条消息,例如警告:项目"项目"中的依赖项"文件"无法复制到运行目录,因为它会覆盖引用"文件".
您应避免在同一解决方案中向另一个项目的输出添加文件引用,因为这样做可能会导致编译错误.而是使用"添加引用"对话框的"项目"选项卡在同一解决方案中创建项目到项目引用.通过允许更好地管理您在项目中创建的类库,这使团队开发更容易.有关更多信息,请参阅对已损坏的引用进行故障诊断以及如何:创建和删除项目依赖项.
从这里开始.
有时项目到项目的引用不起作用.例如,项目的构建时间,或者希望多个项目依赖于引用的特定构建,或者是否已完成对引用项目的测试,并且您不想再次测试.
如果您有持续集成系统和版本控制,那么另一种方法是将构建的dll签入到版本控制中作为CI构建的一部分.然后将dll(例如svn中的外部)引用到依赖项目,这应该意味着所有dll都保持最新.
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |