拥有其他开发人员使用的服务器,我当前会记录他们使用的dll版本。我这样做是让使用Reflection的客户端检索其版本:
Assembly.GetEntryAssembly().GetName().Version.ToString();
这很好,但是因为它来自使用TFS的dev并自己构建,我无法看到它们是否有最新版本的源代码。是否有一个技巧,比如编译标记,可以轻松地生成源代码的哈希值?
注意:我已尝试发送dll的MD5(使用assembly.Location),但由于哈希值在2次编译之间发生变化,因此无用(我猜在生成的dll中有一些编译时间戳) )。
答案 0 :(得分:0)
这是大多数协作问题,然后编码。 在您发现该版本是旧版本的那一刻。请注意它们。 如果真正的版本不是旧版本,那意味着开发人员在制作buold之前没有增加版本ID,这是错误的。
换句话说,在人们之间进行组织,而不是依赖这些工具(如果有的话)。你试图创建一个复杂的工具,这将有助于你避免错误,但人类将找到一种方法来重新制作它们。
所以最好在你们之间建立稳固的关系结构,imo。
答案 1 :(得分:0)
在预构建事件上创建一个工具,以便对代码文件进行哈希/最后写入时间。
将结果写入cs文件或嵌入式资源文件。
结果文件必须在上述操作中排除。
为防止跳过构建(最新)功能不起作用,请在写入前比较文件。
如果你在IDE中打开文件,那么在构建时会得到一个“从外面改变”的提示。
答案 2 :(得分:-1)
似乎没有简单的方法可以做到。