我有两个独立的项目/解决方案。一个是ASP.NET Web应用程序,另一个是在Azure上作为WebJob运行的控制台应用程序。这两个独立的项目/解决方案共享一些共同的项目'的DLL。
我们通过Visual Studio中的Web项目解决方案处理这些共享项目,完成后,我将DLL复制并粘贴到控制台应用程序的bin文件夹中。
当我编译控制台应用程序时,我注意到共享DLL已恢复到以前的版本。我知道这是因为我看到了这些共享DLL的日期修改日期。在我编译控制台应用程序的那一刻,它们会回到以前的版本。
为什么会发生这种情况,我该如何预防?
答案 0 :(得分:0)
您绝对不应该手动将程序集拖放到输出文件夹中,因为它们将从构建它们的任何位置被覆盖。如果必须手动执行 - 在原始位置复制文件。要进行调试 - 为构建启用详细日志记录,并仔细检查从哪里复制程序集。
与构建集成的自动化解决方案是更好的方法。
项目之间共享程序集的标准解决方案是NuGet。作为最基本的解决方案,您只需使用文件共享来删除包。查看您正在使用的持续集成构建系统的指南,因为可能存在推荐的nuget源(即VSTS中的软件包提要)。