Saya memiliki proyek Aplikasi Web di VS 2012 dan ketika saya menggunakan alat penerbitan web itu berhasil dibangun tetapi tidak menyalin file apa pun ke target publikasi (Sistem File dalam kasus ini).
Jika saya melihat output build, saya bisa melihat semuanya disalin ke obj \ Release \ Package \ PackageTmp \ dengan benar tetapi yang saya lihat di build output adalah ini:
4> Selesai membangun proyek "{Project} .csproj".
4> Menghapus file yang ada ...
4> Menerbitkan folder / ...
4> ========== Build: 3 berhasil, 0 gagal, 1 up-to-date, 0 dilewati ===== =====
========== Terbitkan: 1 berhasil, 0 gagal, 0 dilewati ==========
Meskipun dikatakan mempublikasikan berhasil, tidak ada file di direktori target untuk mempublikasikan.
Saya telah melihat ini di beberapa proyek dan kadang-kadang sepertinya solusi / konfigurasi Platform menyebabkan masalah ini, tetapi saya belum dapat menentukan penyebab pasti untuk ini.
Adakah orang lain yang melihat hal ini terjadi atau memiliki ide tentang bagaimana agar ini berfungsi dengan benar?
MEMPERBARUI:
Saya mungkin telah menemukan solusi untuk ini. Saya baru saja mengalami ini lagi dan saya sedang bermain-main dengan pengaturan publikasi. Setelah saya mengubah Konfigurasi yang dipilih pada tab Pengaturan pergi ke konfigurasi lain dan kemudian kembali ke yang saya ingin gunakan semua file saya mulai menerbitkan lagi. Semoga ini bekerja pada proyek lain di masa depan.
PEMBARUAN 2:
Saya memposting bug di Microsoft Connect dan mendengar kabar dari pengembang di tim Pengembang Web VS. Dia mengatakan mereka telah memperbaiki masalah ini di internal build mereka dan akan segera merilis pembaruan ke alat publikasi yang akan memperbaiki masalah ini.
PEMBARUAN 3:
Ini baru-baru ini diperbaiki dengan Pembaruan 2 Visual Studio 2012
Jawaban:
Ini mungkin disebabkan oleh solusi / proyek yang dibuat dengan RC vs2012. Ini terjadi pada saya berbulan-bulan yang lalu dan memperbaiki masalah dengan memastikan konfigurasi solusi membangun saya cocok dengan konfigurasi proyek saya ...
Saya baru saja mengalami masalah yang sama ketika membuka solusi yang sama yang awalnya dibuat di VS2012RC dengan VS2012 Express untuk Web. Saya melakukan persis apa yang disarankan oleh poster asli dan itu memperbaiki masalah saya.
Inilah utas yang menuntun saya ke jawabannya:
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-aplikasi-fails
Tanggapan penting dari percakapan di atas yang membantu saya adalah:
sumber
Permasalahan yang sama. Solusinya adalah mengubah pengaturan publikasi dari Rilis ke Debug. Terbitkan ulang, lalu ubah kembali ke Rilis ...
sumber
Untuk mengambil ini sedikit lebih jauh. Anda memiliki dua file yang dibuat saat Anda membuat profil terbitkan.
NewProfile.pubxml
NewProfile.pubxml.user
Ketika Anda membuka proyek yang memiliki file-file ini di folder PublishProfile dari kontrol sumber, ia hanya memiliki
.pubxml
file dan bukan.publxml.user
file, jadi itu membuat.publxml.user
file dengan cepat ketika Anda membuka proyek. Saat itu membuat yang baru.publxml.user
dengan cepat xml terlihat seperti:Ketika Anda membuat profil baru itu membuat xml yang terlihat seperti:
Jika Anda mengambil
<PropertyGroup>
simpul dan memasukkannya ke dalam.pubxml.user
file, Publikasi Anda akan mulai berfungsi kembali.sumber
Perbaikan yang mudah adalah dengan menghapus profil publikasi Anda dan membuat yang baru.
ketika Anda mengklik kanan pada solusi Anda dan memilih terbitkan, Anda memiliki kumpulan profil. hapus ini dan buat yang baru.
ini akan memperbaikinya.
Saya punya masalah ini dari beralih dari 2010 ke 2012
sumber
Saya memiliki kesalahan yang sama dan saya mengubah pengaturan dari rilis ke debug dan masalah teratasi ..
sumber
Saya memiliki masalah yang sama namun tidak ada jawaban di utas ini yang berfungsi untuk saya. Masalah saya adalah ada direktori yang berisi file HTML statis yang dihasilkan secara dinamis (oleh aplikasi saya). Seluruh direktori tidak dipublikasikan.
Solusi yang bekerja untuk saya ditemukan di sini :
sumber
Ini karena .pubxml.user berisi informasi yang diperlukan untuk dipublikasikan, dan file itu tidak (dan tidak boleh) dimasukkan dalam kontrol sumber. Untuk memperbaiki bug VS ini, salin informasi dari file .pubxml.user ke file .pubxml. Properti yang relevan adalah:
Taruh itu di .pubxml Anda dan Anda harus siap.
sumber
Saya mencoba semua solusi ini tetapi ini adalah solusi yang bekerja setiap saat.
Kami hanya mengubah "Metode terbitkan:" dari "Sistem File" ke misalnya "Web Deploy", dan segera ubah kembali ke "Sistem File".
sumber
Saya memiliki (memiliki) masalah yang sama untuk beberapa proyek. Satu-satunya yang terkena tampaknya proyek web. Menghapus dan membuat ulang profil hanya menyelesaikan satu kali masalah. Selain itu, membandingkan publishxml menghasilkan tidak ada perbedaan, jadi sepertinya tidak ada hubungannya dengan profil sama sekali.
Solusi yang disebutkan oleh OP untuk mengubah masalah pembangunan bolak-balik tampaknya satu-satunya solusi yang dapat diandalkan saat ini.
sumber
Saya mengalami masalah yang sama pada VS 2010, setelah memeriksa keluaran publikasi, log peristiwa, menyalakan dan memeriksa visual studio log dll. Saya kemudian memutuskan untuk menghapus web publish (via add / remove) yang saya percaya baru saja diperbarui ke v1. 0.30810.0. Ini menyelesaikan masalah.
sumber
Di sini kami memiliki masalah yang sama.
Kami hanya mengubah "Metode terbitkan:" dari "Sistem File" ke misalnya "Web Deploy", dan segera ubah kembali ke "Sistem File".
sumber
Berikut ini bekerja untuk saya:
Cukup ubah dari Rilis> Debug> Rilis (atau sebaliknya) lalu publikasikan.
Tidak perlu menghapus, mengedit, menerbitkan apa pun yang Anda tidak perlu.
sumber
Masalah saya adalah konfigurasi file myproject.csproj yang salah. File '_address-step1 -impan.cshtml' tidak menyalin pada publikasi. 'Tidak ada' berubah menjadi 'Konten', sekarang tidak apa-apa.
sumber
None
dalam file .csproj, atau benar-benar hilang dari proyek (ada tetapi tidak "digunakan")! Ini sepenuhnya menjelaskan mengapa menjalankan secara lokal selalu berhasil, tetapi penerbitan tidak pernah berhasil. : DMasalah yang sama dengan VS 2012 Pro dengan target penerbitan disk. Proyek yang digunakan untuk mempublikasikan dengan benar tetapi mulai melakukan masalah ini ketika gagal menyalin file ke folder tujuan.
Solusi adalah mengedit profil publikasikan, ubah mode dari Release (Any CPU) ke debug kemudian kembali ke Release (Any CPU). Melakukan hal ini menyebabkan file PublishProfiles \ projname.pubxml.user ditulis ulang (seperti dijelaskan di atas). Sepertinya itu menambahkan elemen LastUsedBuild, LastUsedPlatform, dan TimeStampOfAssociatedLegacyPublishXmlFile di bawah node propertygroup. Setelah publikasi selesai, itemGroup lain ditambahkan dengan file individual dan waktu publikasi.
sumber
Tindakan ini berhasil bagi saya:
Bunuh Publikasi Profil di "Properties> PublishProfiles> xxxx.pubxml" dan atur kembali.
sumber
Untuk apa nilainya, saya akhirnya menyerah pada pertempuran dengan Web Deploy untuk membuatnya melakukan apa yang saya inginkan (salin file yang dapat digunakan dan tidak ada yang lain), jadi saya menuliskannya di PowerShell dan sangat senang dengan hasilnya. Ini jauh lebih cepat daripada apa pun yang saya coba melalui MSBuild / Web Publish, mungkin karena metode itu masih melakukan hal-hal yang tidak saya butuhkan.
Inilah intinya ( secara harfiah ):
Dalam kasus saya, saya menyebutnya dalam lingkungan CI (TeamCity), tetapi bisa dengan mudah dihubungkan ke acara pasca-pembangunan juga.
sumber
Saya menemukan saya bisa menyelesaikan masalah ini dengan mengubah lokasi target dari obj / [release | stage | ..] ke jalur baru di luar folder solusi sepenuhnya misalnya c: \ deployment. Sepertinya VS 2012 semakin bingung dan mungkin menyerah di suatu tempat selama proses penerbitan.
Mat
sumber
Punya masalah yang sama baru-baru ini di VS 2013 untuk proyek MVC di mana saya mengimpor Umbraco CMS. Saya tidak bisa menerbitkan. Jawaban di atas membantu, meskipun saya perlu beberapa saat untuk mencari tahu apa yang sebenarnya harus saya lakukan dalam VS. Perlu beberapa penelitian misalnya di blog MS untuk mengetahuinya. Saya mencoba mengatakannya secara sederhana:
sumber
Saya memiliki Aplikasi Web dengan beberapa Proyek lain yang dirujuk dalam Solusi. Saya telah berhasil digunakan dengan konfigurasi Publikasikan tunggal beberapa kali di masa lalu. Saya mengubah Konfigurasi Proyek dari Debug ke Rilis untuk Proyek yang telah terjawab di masa lalu. Lain kali ketika saya mencoba untuk menyebarkan saya mendapat gejala-gejala ini, di mana Penerbit hanya diam-diam gagal - tidak melakukan apa-apa dan mengatakan itu berhasil:
Satu-satunya cara untuk memulihkannya adalah menghapus profil Terbitkan, tutup Visual Studio untuk memaksanya menyimpan penghapusan, buka kembali, dan buat ulang profil Terbitkan dari awal. Setelah saya melakukan itu saya bisa menerbitkan baik-baik saja.
Win8 VS2012, laptop jelek.
sumber
Di Visual Studio 2012, beralih di antara rilis masih menyebabkan masalah.
Kami menambahkan acara pra-bangun untuk menghapus
obj
folder:del /s /f /q $(ProjectDir)\obj
dan itu memperbaiki masalah penerbitan. Pembersihan kadang-kadang berhasil, tetapi tidak selalu.sumber
Saya akhirnya menemukan jawabannya sendiri. Semua solusi di atas tidak bekerja untuk saya.
Apa yang telah saya lakukan adalah bahwa saya memindahkan proyek ke drive c mengubah folder proyek ke sesuatu yang lebih pendek dan boom itu mempublikasikan ..
alasan mengapa itu gagal di pihak saya adalah karena saya mempunyai nama proyek / heirarki yang sangat panjang.
C: \ Users \ user \ Desktop \ Sistem Manajemen Kepatuhan \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem
Saya telah memikirkan hal ini karena kadang-kadang ketika saya mengekstrak file rar dikatakan bahwa nama / path terlalu panjang. Saya pikir itu akan sama dengan penerbitan visual studio 2012. dan itu!
Semoga ini bisa membantu kalian.
sumber
Periksa proyek Anda saat ini apakah Anda telah membuat salinan kembali dengan nama kelas yang sama dan nama halaman yang berbeda (Nama kelas akan mewarisi file yang disalin). Pada akhirnya itu akan membingungkan kompiler !!!
CodeFile = "Consolidated.aspx.vb" Inherits = "Consolidated
sumber
Tidak ada solusi di atas yang berfungsi untuk saya.
Tapi saya perhatikan bahwa dari lima proyek ASP.NET MVC kami di solusi utama kami, empat di antaranya menempatkan paket penempatan di tempat yang tepat, sementara satu meninggalkannya di bawah obj \ Debug.
Saya membandingkan proyek dan menemukan perbedaan. Solusinya adalah mengubah ini :
untuk ini :
Setelah saya melakukan perubahan ini, kelima proyek menempatkan paket penyebaran mereka di tempat yang tepat.
(Maaf tentang antrian panjang, tapi aku tidak bisa menemukan cara yang lebih baik untuk menyingkatnya.)
sumber
Saya menemukan ini dengan Referensi Layanan yang dihasilkan Visual Studio file menjadi terlalu panjang dalam hal keseluruhan lintasan.
Memperpendeknya dengan membuat kembali Referensi Layanan menggunakan svcutil.exe, menghapus semua file Referensi Layanan asli.
svcutil dapat disebut seperti ini:
My.Namespace harus diganti dengan namespace yang ada di proksi layanan yang dihasilkan (biasanya ditemukan di file Reference.cs) untuk menghindari kesalahan kompilasi.
http://myservice
harus diganti dengan url titik akhir layanan.sumber
Saya mengalami masalah yang sama. Tidak ada solusi di atas yang berfungsi untuk saya.
sumber
Saya telah menerbitkan situs web beberapa kali. Tetapi suatu hari ketika saya memodifikasi beberapa file aspx dan kemudian mencoba untuk mempublikasikan situs web, itu menghasilkan folder yang diterbitkan kosong.
Pada solusi saya, saya menemukan solusi.
Panduan penerbitan akan mencerminkan kesalahan apa pun saat menerbitkan tetapi tidak akan menyalin file apa pun ke folder tujuan.
Untuk mengetahui file yang menghasilkan kesalahan cukup salin konten folder situs web ke folder baru dan mulai studio visual dengan situs web itu.
Sekarang ketika Anda mencoba untuk menerbitkannya akan memberi Anda nama file yang mengandung kesalahan.
Hanya memperbaiki kesalahan dalam folder situs web asli dan mencoba untuk menerbitkan, itu akan berfungsi seperti sebelumnya.
sumber
Ikuti langkah-langkah ini untuk menyelesaikan:
Buat profil baru dan konfigurasikan dengan pengaturan yang sama dengan profil Anda yang ada.
Proyek sekarang akan menerbitkan dengan benar. Ini sering terjadi sebagai hasil dari profil publikasi yang dikontrol oleh sumber dari komputer lain yang dibuat di versi yang lebih baru dari Visual Studio.
sumber
TETAP - berbagai solusi yang ditawarkan tidak bekerja untuk saya. Apa yang berhasil bagi saya dengan VS Community 2017, Windows Server 2012 R2 adalah mengubah variabel lingkungan TEMP dan TMP untuk pengguna dan kemudian restart sistem dan menggunakan lagi (restart VS tidak cukup). Variabel temp ini adalah tempat VS menerbitkan temp.
Restart studio visual setelah mengubah variabel temp tidak berhasil, harus reboot sistem.
sumber
Pertama:
Saat menerbitkan, periksa kembali apa yang telah Anda pilih.
ini harus dilakukan. Itu untuk saya! :)
sumber
Yang paling mudah adalah,
sumber