Program Visual Studio 2012 Web Publish nie kopiuje plików

229

Mam projekt aplikacji sieci Web w VS 2012 i kiedy korzystam z narzędzia do publikowania w sieci, buduje się ono pomyślnie, ale nie kopiuje żadnych plików do miejsca docelowego publikacji (w tym przypadku system plików).

Jeśli spojrzę na dane wyjściowe kompilacji, widzę, że wszystko jest kopiowane poprawnie do obj \ Release \ Package \ PackageTmp \ poprawnie, ale wtedy widzę tylko:

4> Zakończono budowę projektu „{Project} .csproj”.
4> Usuwanie istniejących plików ...
4> Folder publikacji / ...
4> ========== Kompilacja: 3 powiodło się, 0 nie powiodło się, 1 aktualne, 0 pominięto ===== =====
========== Publikuj: 1 powiodło się, 0 nie powiodło się, 0 pominięto ==========

Mimo że napisano, że publikacja się powiodła, w katalogu docelowym nie ma plików do publikacji.

Widziałem to w wielu projektach i czasami wydaje się, że konfiguracja Rozwiązanie / Platforma powoduje ten problem, ale nie byłem w stanie wskazać dokładnej przyczyny tego problemu.

Czy ktoś jeszcze widział, jak to się dzieje, lub ma pomysł, jak to zrobić poprawnie?

AKTUALIZACJA:

Mogłem znaleźć rozwiązanie tego problemu. Właśnie to się powtórzyło i miałem problemy z ustawieniami publikowania. Gdy zmieniłem wybraną konfigurację na karcie Ustawienia na inną konfigurację, a następnie z powrotem na tę, z której chciałem korzystać, wszystkie moje pliki zaczęły ponownie publikować. Mam nadzieję, że zadziała to w innych projektach w przyszłości.

AKTUALIZACJA 2:

Zamieściłem błąd w Microsoft Connect i usłyszałem odpowiedź od programisty z zespołu VS Web Developer. Powiedział, że naprawili ten problem w swoich wewnętrznych kompilacjach i wkrótce opublikuje aktualizację narzędzia do publikowania, która naprawi ten problem.

AKTUALIZACJA 3:

Zostało to ostatnio naprawione w Visual Studio 2012 Update 2

Jeff Papp
źródło
1
To dziwne. Jeśli widzisz folder Publikowanie / ..., powinien on działać poprawnie. Proponuję sprawdzić swoją ścieżkę. Upewnij się, że patrzysz na właściwe miejsce.
maxisam
14
Zdarzyło mi się to w Windows 8 z Visual Studio 2012. Właśnie utworzyłem nowy profil publikacyjny i działa! Prawdopodobnie błąd w VS 2012.: /
T.Ho
3
Miałem ten sam problem. Usunięcie i ponowne odtworzenie profilu publikowania załatwiło sprawę.
Tommy Jakobsen
3
Usunięcie i ponowne utworzenie profili załatwiło sprawę.
Michael Wells,
3
Nie zostało to naprawione w Visual Studio Update 2, ani w Update 3. Sprawdź najpopularniejszą odpowiedź po „zaakceptowanej odpowiedzi” (która nie jest rozwiązaniem). Po prostu edytuj profil i - w zakładce „Ustawienia” - wybierz poprawną konfigurację z listy (jeśli wydanie jest dobre, wybierz debugowanie, zapisz, a następnie edytuj ponownie i wybierz wydanie). Zapisz i opublikuj.
firepol

Odpowiedzi:

78

Może to być spowodowane rozwiązaniami / projektami, które zostały utworzone przy użyciu RC z wersji vs2012. Zdarzyło mi się to kilka miesięcy temu i rozwiązało problem, upewniając się, że konfiguracje kompilacji rozwiązania pasują do konfiguracji projektu ...

Niedawno miałem ten sam problem podczas otwierania tego samego rozwiązania pierwotnie utworzonego w vs2012RC w VS2012 Express dla sieci. Zrobiłem dokładnie to, co sugerował oryginalny plakat i naprawiłem mój problem.

Oto wątek, który doprowadził mnie do odpowiedzi:

connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails

Odpowiednia odpowiedź z powyższej rozmowy, która pomogła mi, to:

Wysłany przez Microsoft 13.06.2012 o godzinie 12:00 Cześć Andrew,

Był to błąd w sposobie, w jaki radzimy sobie z konfiguracją rozwiązania w porównaniu z konfiguracją projektu. Niepoprawnie założyliśmy, że będą one takie same (np. W wydaniu Solution | x86 każdy projekt będzie również ustawiony na Release | x86), co spowodowało, że użyliśmy niewłaściwych właściwości kompilacji do publikowania plików.

Obejściem tego problemu jest dopasowanie konfiguracji rozwiązania i kompilacji konfiguracji. Ten problem zostanie rozwiązany w następnej wersji programu Visual Studio 2012.

Dzięki, - Jimmy Lewis SDET, zespół Visual Web Developer

Dave Riedl
źródło
8
Ten problem występuje dla mnie w nowym projekcie Visual Studio 2012. W przeszłości publikowano za pośrednictwem FTP, ale teraz, gdy próbuję opublikować, robi to dokładnie tak, jak powyżej - udaje, twierdzi, że się powiodło i niczego nie wypycha. Buduje dane wyjściowe do katalogu obj, ale nigdy nie kopiuje ich na serwer. Jednak sztuczka polegająca na zmianie konfiguracji naprawia to.
Chris Moschini,
12
Hej! W dodatku SP2 wciąż się zepsuł!
6
Właśnie miałem ten sam problem i zdałem sobie sprawę, że to dlatego, że ustawienia publikowania są domyślnie ustawione na „Dowolny procesor”, ale moje rozwiązanie jest ustawione na „x86”. Zmiana ustawień w Publikuj na x86 rozwiązała problem.
Sam
Żadne z powyższych rozwiązań nie działa dla mnie. Usuwanie profili i odtwarzanie, zmiana konfiguracji i przywracanie, restartowanie VS, przebudowywanie wszystkich itp. Utworzyłem nowy widok w mojej aplikacji. Jest tutaj. Mogę to zobaczyć. Gdy uruchamiam lokalnie, wyświetla się. Kiedy publikuję, nie ma jej tam. Mam aktualizację 4.
Robert
Jedyne, co działa dla mnie, to usunięcie mojego widoku z projektu i ponowne dodanie. Wydaje się, że budzi to IDE, że istnieje tu coś nowego. Więc gdziekolwiek VS śledzi, mogą być zaangażowane dodawanie i odejmowanie projektów.
Robert
104

Taki sam problem. Obejściem tego problemu była zmiana ustawień publikowania z wersji na debugowanie. Ponownie opublikuj, a następnie wróć do wersji ...

Roberto Nunes
źródło
TAK! To dobra odpowiedź. W moim przypadku nie używam domyślnych profili „Release” lub „Debug”, ale „DEV”, „STAGE” i „LIVE”. Widziałem, że np. Dla STAGE, na komputerze współpracownika, który pobrał moje rozwiązanie przez TFS, profil został nieprawidłowo ustawiony na „Release” (to samo dla wszystkich innych profili). Więc po prostu musiałem to poprawić i wskazać na „STAGE” (lub DEV / LIVE dla pozostałych). Publikacja działała. Dziękuję Ci.
firepol
Działa jak urok. To powinno być przyjętą odpowiedzią.
Aycan Yaşıt
39

Aby pójść o krok dalej. Masz dwa pliki, które są tworzone podczas tworzenia profilu publikowania.

  • NewProfile.pubxml
  • NewProfile.pubxml.user

Po otwarciu projektu, który ma te pliki w folderze PublishProfile, z kontrolki źródłowej, ma on tylko .pubxmlplik, a nie .publxml.userplik, więc tworzy .publxml.userplik w locie podczas otwierania projektu. Kiedy tworzy nowy .publxml.userw locie, xml wygląda następująco:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

Kiedy tworzysz nowy profil, tworzy xml, który wygląda następująco:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <TimeStampOfAssociatedLegacyPublishXmlFile />
    <EncryptedPassword />
  </PropertyGroup>
</Project>

Jeśli weźmiesz <PropertyGroup>węzeł i umieścisz go w .pubxml.userpliku, Twoje PublishProfiles zaczną ponownie działać.

Eric Wild
źródło
5
+1 To mi się wydawało. Ułatwia to nieco otwarcie dwóch plików i porównanie ich po utworzeniu nowego profilu. Odkryłem również, że oba pliki muszą być sprawdzone pod kontrolą źródła, jeśli pracujesz w zespole.
Deano,
@Deano Problem z rejestrowaniem w dowolnym pliku * .user polega na tym, że nie masz już możliwości indywidualnego (lokalnego) dostosowywania projektu. Celem pliku użytkownika jest umożliwienie poszczególnym członkom zespołu posiadania własnych ustawień lokalnych.
Dave Riedl
Czy istnieje inne rozwiązanie zamiast dodawania pliku „.pubxml.user” do kontroli źródła?
Ubikuity,
Nie przekazujemy plików * .user do kontroli źródła, ale nawiasem mówiąc, nie używamy profilu publikowania w Visual Studio, ponieważ nasz serwer ciągłej integracji i proces tworzenia zarządza tym wszystkim ...
Brett Rigby
21

Łatwym rozwiązaniem jest usunięcie profilu publikowania i utworzenie nowego.

po kliknięciu rozwiązania prawym przyciskiem myszy i wybraniu opcji publikuj masz ustawiony profil. usuń to i utwórz nowe.

to naprawi to.

Miałem ten problem z przejścia z 2010 na 2012

JGilmartin
źródło
To działa dla mnie, a ja usunąłem profile z lokalnego komputera i odtworzyłem je. Nie wpływa to na inne maszyny programistyczne.
Jean Jimenez
Miałem ten problem z przełączeniem projektu z vs2013 na vs2012 i to całkowicie rozwiązało problem
NikiUsefi
To zadziałało dla mnie. Wykonałem te kroki, aby odbudować mój (system plików) profil publikowania: stackoverflow.com/a/20616521/381082
DeveloperDan
9

Miałem ten sam błąd i zmieniłem ustawienie z wydania na debugowanie, a problem został rozwiązany.

Użytkownik stosu
źródło
8

Miałem ten sam problem, jednak żadna z odpowiedzi w tym wątku nie działała dla mnie. Mój problem polegał na tym, że istnieje katalog zawierający dynamicznie generowane (przez moją aplikację) statyczne pliki HTML. Cały katalog nie został opublikowany.

Rozwiązanie, które działało dla mnie zostało znalezione tutaj :

Jednym z problemów, które dostałem chwilę temu i pomyślałem, że powinienem udokumentować, było to, że niektóre typy plików nie były przesyłane podczas publikacji mojego projektu.

Typy plików, o których mowa, to pliki .pdf i .rtf.

Powodem tego było to, że te rozszerzenia plików nie zostały rozpoznane jako wymagające publikacji przez Visual Studio. Na szczęście można to zmienić w Visual Studio.

Wybierz pliki, które nie są kopiowane. We właściwościach upewnij się, że akcja kompilacji jest ustawiona na zawartość .

Jeśli to nie zadziała, można wypróbować następujące.

W menu Project wybierz Package / Publish Web i zauważ tę listę rozwijaną:

wprowadź opis zdjęcia tutaj

Spróbuj zmienić to na Wszystkie pliki w tym folderze projektu.

Charles Wesley
źródło
To zadziałało w mojej sytuacji - kiedy opublikowano tylko NIEKTÓRE pliki.
AndrewRalon
Działa to tylko dlatego, że pliki nie zostały poprawnie uwzględnione w projekcie. Zobacz tę odpowiedź poniżej, aby zapoznać się z podstawową przyczyną i rozwiązaniem: stackoverflow.com/a/40721544/3520070
AndrewRalon
Którą odpowiedź poniżej masz na myśli?
Tomas Kubes
7

Wynika to z faktu, że plik .pubxml.user zawiera wymagane informacje do opublikowania, a plik ten nie jest (i nie powinien) być objęty kontrolą źródła. Aby naprawić ten błąd VS, skopiuj informacje z pliku .pubxml.user do pliku .pubxml. Odpowiednie właściwości to:

<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>

Umieść je w pliku .pubxml i powinieneś być gotowy.

Chris Hynes
źródło
7

Próbowałem wszystkich tych rozwiązań, ale to działa za każdym razem.

Po prostu zmieniamy „metodę publikowania:” z „systemu plików” na na przykład „Web Deploy” i natychmiast zmieniamy z powrotem na „system plików”.

użytkownik 2896889
źródło
Tak, to też w końcu zadziałało dla mnie (wypróbowałem wszystkie pozostałe powyższe sugestie). To jest z vs2010
Karen
5

Mam (miałem) ten sam problem z kilkoma projektami. Jedynymi hitami wydają się być projekty internetowe. Usunięcie i ponowne utworzenie profilu rozwiązuje problem tylko raz. Dodatkowo porównanie wygenerowanego pliku XML opublikowanego nie powoduje żadnych różnic, więc nie wydaje się, aby był on w ogóle związany z profilem.

Obejście wspomniane przez OP w celu zmiany problemów z kompilacją tam iz powrotem wydaje się obecnie jedynym niezawodnym rozwiązaniem.

Bob Noordam
źródło
To samo obejście było dla mnie jedyną poprawką. Aby to wyjaśnić, wykonaj następujące czynności: Kompiluj> Opublikuj. Wybierz kartę Ustawienia po lewej stronie. Zmień konfigurację kompilacji na cokolwiek innego. Zobaczysz teraz gwiazdkę (*) obok nazwy profilu publikowania - to znak, że błąd został usunięty. Zmień konfigurację kompilacji z powrotem na żądaną. Kontynuuj publikowanie w normalny sposób. Naprawiony.
Chris Moschini,
4

Ten sam problem napotkałem na VS 2010, po sprawdzeniu wyników publikowania, dzienników zdarzeń, włączeniu i sprawdzeniu dzienników wizualnego studia itp. Następnie zdecydowałem się usunąć publikację internetową (przez dodanie / usunięcie), która, jak sądzę, została niedawno zaktualizowana do wersji 1. 0,30810,0. To rozwiązało problem.

Matt Jordan
źródło
2
Wystąpił ten problem, wydaje się, że jest związany z plikiem pubxml.user w folderze PublishProfiles w folderze Mój projekt - moja lista plików do wygenerowania została wygenerowana maszynowo, mimo że dokumentacja mówi, że ten plik jest przeznaczony tylko do określonych dla mnie ustawień ( i dlatego nie jest objęty kontrolą źródła). Mogłem opublikować w porządku. Mój kolega wziął świeżą kopię naszego kodu źródłowego i nie był w stanie opublikować - kiedy jego plik pubxml.user został wygenerowany, nie wymieniono żadnych plików. Odinstalowaliśmy zaktualizowaną publikację internetową i wszystko jest w porządku.
Nick
4

Tutaj mieliśmy ten sam problem.

Po prostu zmieniamy „metodę publikowania:” z „systemu plików” na na przykład „Web Deploy” i natychmiast zmieniamy z powrotem na „system plików”.

Miś koala
źródło
to powinno być na górze
JoeBrockhaus
Zostało to naprawione w Visual Studio 2012 Update 3
KoalaBear
4

Dla mnie działało:

Po prostu zmień z Release> Debuguj> Release (lub odwrotnie), a następnie opublikuj.

Nie musisz usuwać, edytować ani publikować niczego, czego nie potrzebujesz.

dav_i
źródło
4

Mój problem polegał na niewłaściwej konfiguracji pliku myproject.csproj. Plik „_address-step1-przechowywane.cshtml” nie został skopiowany podczas publikacji. „Brak” zmieniono na „Treść”, teraz jest w porządku. wprowadź opis zdjęcia tutaj

Yara
źródło
TO BYŁO TO! Projekt miał wiele plików, które zostały sprawdzone pod kontrolą źródła, ale zostały oznaczone jak Nonew pliku .csproj lub całkowicie zniknęły z projektu (tam, ale nie „użyto”)! To w pełni wyjaśnia, dlaczego uruchamianie lokalne zawsze działało, ale publikowanie nigdy nie działało. : D
AndrewRalon
3

Ten sam problem z VS 2012 Pro z miejscem docelowym publikowania dysku. Projekt był używany do prawidłowej publikacji, ale zaczął robić ten problem, gdy nie udało się skopiować plików do folderu docelowego.

Rozwiązaniem była edycja profilu publikowania, zmiana trybu z Release (Any CPU) na debugowanie, a następnie powrót do Release (Any CPU). Spowoduje to, że plik PublishProfiles \ projname.pubxml.user zostanie przepisany (jak opisano powyżej). Wygląda na to, że dodał elementy LastUsedBuild, LastUsedPlatform i TimeStampOfAssociatedLegacyPublishXmlFile w węźle groupgroup. Po zakończeniu publikowania dodaje kolejną grupę przedmiotów z pojedynczymi plikami i czasami publikacji.

Melodev
źródło
1

Ta akcja była dla mnie udana:

Zabij Opublikuj profile w „Właściwości> Opublikuj profile> xxxx.pubxml” i ponownie ustaw ponownie.

MichAdel
źródło
1

Za to, co jest warte, ostatecznie zrezygnowałem z walki z Web Deploy, aby zrobić to, co chciałem (skopiować pliki do wdrożenia i nic więcej), więc napisałem skrypt w PowerShell i jestem bardzo zadowolony z wyniku. Jest o wiele szybszy niż cokolwiek, co wypróbowałem za pomocą MSBuild / Web Publish, prawdopodobnie dlatego, że te metody wciąż działały tak, jak ja nie potrzebowałem.

Oto sedno ( dosłownie ):

function copy-deployable-web-files($proj_path, $deploy_dir) {
  # copy files where Build Action = "Content" 
  $proj_dir = split-path -parent $proj_path
  [xml]$xml = get-content $proj_path
  $xml.Project.ItemGroup | % { $_.Content } | % { $_.Include } | ? { $_ } | % {
    $from = "$proj_dir\$_"
    $to = split-path -parent "$deploy_dir\$_"
    if (!(test-path $to)) { md $to }
    cp $from $to
  }

  # copy everything in bin
  cp "$proj_dir\bin" $deploy_dir -recurse
}

W moim przypadku nazywam to w środowisku CI (TeamCity), ale może być łatwo dołączone do zdarzenia po kompilacji.

Todd Menier
źródło
1

Znalazłem, że mogłem obejść ten problem, zmieniając docelową lokalizację z obj / [release | stage | ..] na nową ścieżkę poza folderami rozwiązania, np. C: \ obrazu stanowiska. Wygląda na to, że VS 2012 był zdezorientowany i być może poddał się gdzieś podczas procesu publikowania.

Matt

Wilkoteq
źródło
1

Miałem ten sam problem ostatnio w VS 2013 dla projektu MVC, w którym zaimportowałem Umbraco CMS. Nie mogłem opublikować. Powyższa odpowiedź pomogła, choć potrzebowałem trochę czasu, aby dowiedzieć się, co właściwie powinienem zrobić w VS. Aby to sprawdzić, potrzebne były badania np. Na blogach MS. Staram się to powiedzieć prosto:

  • Wybierz na pasku narzędzi VS określoną konfigurację, np. Release i Any CPU. Uruchom projekt.
  • Następnie kliknij prawym przyciskiem myszy w Eksploratorze rozwiązań danego rozwiązania, wybierz Publikuj. Utwórz nowy profil publikowania lub użyj danego, ale zawsze upewnij się, że w ustawieniach wybrano tę samą konfigurację (np. Release i Any CPU), jak przed ostatnim uruchomieniem projektu.
  • Dodatkowo w moim przypadku konieczne było usunięcie folderu OBJ, ponieważ tutaj utknęły ustawienia mojej ostatniej nieudanej próby opublikowania, chociaż zrestartowałem VS i usunąłem wszystkie profile publikowania.
Anja
źródło
0

Mam aplikację sieci Web z kilkoma innymi projektami wymienionymi w rozwiązaniu. W przeszłości z powodzeniem wdrażałem jedną konfigurację publikowania. Zmieniłem konfigurację projektu z debugowania na wydanie dla projektu, który został pominięty w przeszłości. Następnym razem, gdy próbowałem wdrożyć, dostałem te objawy, w których publikowanie po prostu cicho kończy się niepowodzeniem - nic nie robi i mówi, że się udało:

1>------ Build started: Project: Project, Configuration: DeployProduction Any CPU ------
1>  
2>Publishing folder /...
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

Jedynym sposobem na jego odzyskanie było wymazanie profilu Publikuj, zamknięcie programu Visual Studio w celu wymuszenia zapisania usunięcia, ponownego otwarcia go i odtworzenia profilu Publikuj od zera. Gdy to zrobię, będę mógł ponownie opublikować grzywnę.

Win8 VS2012, gówniany laptop.

Chris Moschini
źródło
0

W Visual Studio 2012 przełączanie między wydaniami wciąż powoduje problemy.

Dodaliśmy zdarzenie przed kompilacją, aby usunąć objfolder: del /s /f /q $(ProjectDir)\obji naprawiono problem z publikowaniem. Czyszczenie czasami działa, ale nie zawsze.

Candide
źródło
0

W końcu sam znalazłem odpowiedź. Wszystkie powyższe rozwiązania nie działają dla mnie.

To, co zrobiłem, to przeniesienie projektu na dysk c. Zmień folder projektu na coś krótszego i opublikuj go.

powodem, dla którego zawiodłem po mojej stronie, jest to, że mam bardzo długą nazwę projektu / dziedziczenie.

C: \ Users \ user \ Desktop \ Compliance Management System \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem

Pomyślałem o tym, ponieważ czasami, gdy rozpakowałem plik rar, napisano, że nazwa / ścieżka jest za długa. Myślałem, że będzie tak samo, jak w przypadku wydawnictwa visual studio 2012. i to robi!

mam nadzieję, że to wam pomoże.

Joebet
źródło
0

Sprawdź, czy w bieżącym projekcie jest to, czy wykonałeś kopię z tą samą nazwą klasy i inną nazwą strony (nazwa klasy odziedziczy skopiowany plik). Ostatecznie to pomyli kompilator !!!

CodeFile = "Consolidated.aspx.vb" Inherits = "Consolidated

Dileep
źródło
0

Żadne z powyższych rozwiązań nie działało dla mnie.

Ale zauważyłem, że z naszych pięciu projektów ASP.NET MVC w naszym głównym rozwiązaniu cztery z nich umieściły pakiet wdrożeniowy we właściwym miejscu, a jeden pozostawił go pod obj \ Debug.

Porównałem projekty i znalazłem rozbieżność. Rozwiązaniem była zmiana tego :

<Import
    Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

do tego :

<Import
  Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets"
  Condition="'$(VSToolsPath)' != ''" />
<Import
  Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"
  Condition="false" />

Po wprowadzeniu tej zmiany wszystkie pięć projektów umieściło swoje pakiety wdrożeniowe we właściwym miejscu.

(Przepraszam za długie kolejki, ale nie mogłem znaleźć lepszego sposobu na ich zagęszczenie).

Ryan Lundy
źródło
Ja doświadcza sytuacji, w której plik lub dwa wydaje się pomijany i nie publikowane do serwera, ale mój plik .vbproj ma już zarówno z importu <> elementy sugerujesz
bkwdesign
0

Zetknąłem się z tym, że pliki referencyjne usług generowane przez Visual Studio stały się zbyt długie pod względem ogólnej długości ścieżki.

Skrócono je, ponownie generując odwołanie do usługi za pomocą svcutil.exe, usuwając wszystkie oryginalne pliki odniesienia do usługi.

svcutil można nazwać tak:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe" /language:CS http://myservice /namespace:*,My.Namespace

My.Namespace należy zastąpić istniejącą przestrzenią nazw w wygenerowanym serwerze proxy usługi (zwykle znajduje się w pliku Reference.cs), aby uniknąć błędów kompilacji.

http://myservice należy zastąpić adresem URL punktu końcowego usługi.

żagiel
źródło
0

Mam ten sam problem. Żadne z powyższych rozwiązań nie działało dla mnie.

Wykluczyłem więc pliki, których nie udało się skopiować podczas publikacji.

Rahul Nikate
źródło
0

Witrynę opublikowałem kilka razy. Ale pewnego dnia, gdy zmodyfikowałem jakiś plik aspx, a następnie próbowałem opublikować stronę internetową, spowodowało to, że opublikowałem pusty folder.

W ramach mojego obejścia znalazłem rozwiązanie.

  1. Kreator publikowania będzie odzwierciedlał każdy błąd podczas publikowania, ale nie skopiuje żadnego pliku do folderu docelowego.

  2. Aby znaleźć plik, który generuje błąd, po prostu skopiuj zawartość folderu witryny do nowego folderu i uruchom studio graficzne z tą witryną.

  3. Teraz, gdy spróbujesz opublikować, poda ci nazwę pliku, która zawiera błędy.

  4. Po prostu napraw błąd w oryginalnym folderze strony i spróbuj opublikować, będzie działać tak, jak wcześniej.

Ramanathan RM
źródło
0

Wykonaj następujące kroki, aby rozwiązać:

Build > Publish > Profile > New

Utwórz nowy profil i skonfiguruj go z tymi samymi ustawieniami, co istniejący profil.

Projekt będzie teraz poprawnie publikowany. Często dzieje się tak w wyniku kontrolowanego przez źródło profilu publikowania z innego komputera, który został utworzony w nowszej wersji programu Visual Studio.

Adam
źródło
0

NAPRAWIONO - różne oferowane rozwiązania nie działały dla mnie. W przypadku VS Community 2017 w systemie Windows Server 2012 R2 działała dla mnie zmiana zmiennych środowiskowych TEMP i TMP dla użytkownika, a następnie ponowne uruchomienie systemu i wdrożenie ponownie (ponowne uruchomienie VS nie wystarczyło). Te zmienne temp są tam, gdzie VS publikuje temp.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Ponowne uruchomienie studia wizualnego po zmianie zmiennych temp nie załatwiło sprawy, musiał zrestartować system.

Jason Hitchings
źródło
-1

Pierwszy:

  • Wbudowana konfiguracja wydania.
  • We właściwościach projektu-> wybierz Wszystkie pliki i foldery w obszarze Pakuj / Publikuj w Internecie.
  • Przebuduj rozwiązanie (po czyszczeniu rozwiązania).
  • teraz opublikuj.

Podczas publikowania sprawdź ponownie, co wybrałeś.
to powinno to zrobić. Zrobiło to dla mnie! :)

ManjunathMayurRK
źródło
-2

Najłatwiej jest

   1. select the file(s) that are not being copied,
   2. Press <F4> to get the properties window
   3. Make the "Build Action" property "compile" or "content" depending on what it is.
   4. Now this particular file will be included!
Ali A.
źródło