6

okienku podglądu w oknie dialogowym Publishing Web w Visual Studio 2012 działa całkiem dobrze, gdy jesteś jedyny deweloper pracuje nad kodzie (patrz przykład poniżej): enter image description hereVisual Studio 2012 Web Deploy publikować podgląd pokazuje wszystkie pliki jak zmieniła

Jednak wydaje się, że spada, gdy korzysta z niego wielu programistów. Wydaje się używać znaczników czasu pliku jako sposobu porównywania, więc nawet jeśli otrzymałeś najnowsze od TFS, twój znacznik jest inny niż plik opublikowany przez drugiego faceta na serwerze, więc zawiera wiele zmian fantomowych na liście (po wykonaniu drążenia dwa panele różnic są takie same).

Czy ktoś wymyślił obejście tego scenariusza?

Odpowiedz

2

Jak dotąd nie. Zauważyłem ten sam problem z Team Foundation Server i publikowanie za pośrednictwem systemu plików. Problem wynika z plików XML, których używa TFS do śledzenia ostatnio opublikowanych danych dla danego profilu. Te pliki istnieją w folderze Project \ Properties \ Publish Profiles. Pliki są automatycznie dodawane do projektu i są prawie niemożliwe do uniknięcia TFS. Gdy członek zespołu zauważy, że to, co publikuje, nie musi pasować do tego, co znajduje się na ich komputerze, usuwają i ponownie tworzą nowy profil publikowania. Zupełnie nie jest to skalowalne rozwiązanie, ale jeśli google studio visual studio nie działa, napotkasz wiele osób z tym samym problemem.

+0

Interesujące. Odkąd to opublikowałem, zbadałem opcję publikowania systemu plików i wydaje się, że jest bardziej inteligentny w tym względzie. Całkowicie ignoruje znacznik czasu serwera; zamiast tego porównuje znacznik czasu w pliku .pubxml.user w bieżącym sygnale czasowym pliku, publikując, jeśli plik jest nowszy. Wydaje się, że YMMV w tej sprawie. –

+0

Dodałem ten pomysł do głosu użytkownika Visual Studio: [Popraw obsługę wielu użytkowników za pomocą Web Publishing Preview Preview] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504823-improve-support- dla wielu użytkowników za pomocą-web-deplo). Idź głosuj! –

3

Późna odpowiedź, która może być przydatna dla osób używających nowszych wersji programu Visual Studio (2013 lub nowszy). Określić, że suma kontrolna plików powinien być stosowany zamiast datownika:

1) Otwórz plik profil wydawniczy xml: \<web project>\Properties\PublishProfiles\<publishprofile>.pubxml

2) Dodaj <MSDeployUseChecksum>true</MSDeployUseChecksum> w grupie nieruchomości. Wynik końcowy powinien wyglądać następująco:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
This file is used by the publish/package process of your Web project. You can customize the behavior of this process 
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
--> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <WebPublishMethod>MSDeploy</WebPublishMethod> 

    <MSDeployUseChecksum>true</MSDeployUseChecksum> 

    <!-- other configuration here --> 
    </PropertyGroup> 
    <ItemGroup> 
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MdwAutomaticTestingModels-Web.config Connection String"> 
     <UpdateDestWebConfig>False</UpdateDestWebConfig> 
    </MSDeployParameterValue> 
    </ItemGroup> 
</Project> 

Więcej szczegółów można znaleźć here.

+0

Dzięki @Alexei, twoje rozwiązanie naprawdę działa. Powinien być oznaczony jako odpowiedź, aby inni mogli z niej skorzystać. Głosowałem w górę. –

Powiązane problemy