Sprawdzenie zmiany pliku dll

0

Hej wszystkim,

Czy ktoś mógłbym mi powiedzieć jak mogę sprawdzić czy dany plik .dll został zmieniony. Przypuśćmy mamy plik test.dll w katalogu ZMIANA, nastepnie podmieniam ten plik na nowy plik test.dll i jak mogłbym sprawdzić że mam nowy plik dll.

Chodzi mi w kontekscie tego że po zbudowaniu mam nową dll i jak mam sprawdzać, że poszedł nowy build i ta dll-ka jest podmieniona.

Może ktoś coś pomóc?

Dzieki

0

a nie łatwiej kopiować ją za każdym razem, bez sprawdzania?

0

Nie rozumiem pytania. Jak robisz nowy build to chyba wiesz, że go robisz? A jak wiesz, że go robisz to wiesz, że dll jest podmieniona. Więc w czym tak na prawdę leży problem?

0
adf88 napisał(a):

Nie rozumiem pytania. Jak robisz nowy build to chyba wiesz, że go robisz? A jak wiesz, że go robisz to wiesz, że dll jest podmieniona. Więc w czym tak na prawdę leży problem?

Chodzi o to, że robie builda (nie recznie i nie ja) i automatycznie skryptem kopiuje ta dll do innego katalogu. I po tych akcjach chciałbym rozpoznac czy ta dll jest nowa w porównaniu do tego co mialem wczesniej w tym katalogu?

0

Ale to ma być informacja dla twoich oczu czy chcesz zautomatyzować jakiś proces? Jeśli to pierwsze to po prostu zerknij na datę pliku dll. Skrypt kopiujący dll może robić dodatkową kopię starej wersji dll dla lepszego porównania. Jeśli to drugie to musisz opisać problem dokładniej.

0

Zautomatyzować proces...
Wyglada to mniej wiecej tak:

  1. Kolega robi builda i wgrywa dll do katalogu na nie swoim komputerze (powiedzmy jakiejs virtualnej maszynie)
  2. Teraz ja chciałbym wykorzystac ta dll i oczywiscie wykorzystuje (dll z testami)
  3. Ale teraz jak on wrzuci nowa to ja nie bede wiedzial czy cos sie zmienilo stad chcialbym sparwdzic czy ta dll to jest ta sama co byla wczesniej w katalogu czy jakos nowa wrzucona. Czy jest taka mozliwość? (pewnie jest ale jestem poczatkujacy nie wiem wiem za bardzo jak sie za to zabrac)

Dzięki za pomoc...

0

Dodaj tę DLL-kę do projektu (to znaczy: dodaj plik leżący na zdalnym komputerze, Add|Existing Item) i we właściwościach wybierz, żeby automatycznie kopiowało (Copy to output directory).

1

Rozwiązanie jest proste. Przed każdym przebudowaniem programu zmień wersje programu (prawym na projekt- properties- application- assembly informations). Nadaj swoją wersję programu w polach Assembly version i file version. Po przebudowaniu programu *.dll będzie miało taką numerację. Wiedząc jaka była poprzednia wersja pliku sprawdzisz czy wyszła już nowa czy tez nie

0

Najszybsza i najprostsza opcja - sprawdzaj md5 pliku.

0
  1. Jeśli możesz użyj wersji DLL-ki (część "build"). Powinna być podbijana automatem po każdym wykonaniu "build".

  2. Jeśli nie to użyj daty/czasu jej kompilacji.
    Data/czas kompilacji powinna być zachowana w procesie kopiowania. Jeśli tak nie jest to masz problem.

  3. Jeśli nie możesz użyć daty/czasu, użyj sumy kontrolnej MD5.
    Daje to informację, że zmienił się plik, natomiast nie daje informacji czy nie dostałeś po prostu starej wersji.
    Żeby być pewnym musisz przechowywać historię wartości MD5.

Można użyć wszystkich trzech elementów, ale najlepiej nr 1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1