Visual Studio 2012 Web Publish dosyaları kopyalamıyor


229

VS 2012'de bir Web Uygulaması projem var ve web yayımlama aracını kullandığımda başarıyla oluşturuyor ancak yayımlama hedefine (bu durumda Dosya Sistemi) herhangi bir dosya kopyalamıyor.

Derleme çıktısına bakarsanız, her şeyin obj \ Release \ Package \ PackageTmp \ dosyasına kopyalandığını görebiliyorum, ancak derleme çıktısında gördüğüm tek şey şu:

4> İnşaat projesi "{Project} .csproj" tamamlandı.
4> Mevcut dosyaları silme ...
4> Klasör yayınlanıyor / ...
4> ========== Derleme: 3 başarılı, 0 başarısız, 1 güncel, 0 atlandı ===== =====
========== Yayınla: 1 başarılı, 0 başarısız, 0 atlandı ==========

Yayımın başarılı olduğu belirtilse de, yayın için hedef dizinde dosya yok.

Bunu birden fazla projede gördüm ve bazen Çözüm / Platform yapılandırmaları bu soruna neden oluyor gibi görünüyor, ancak bunun tam bir nedenini tam olarak tespit edemedim.

Başkaları bunun olduğunu gördü ya da bunun nasıl doğru bir şekilde çalışacağına dair bir fikri var mı?

GÜNCELLEME:

Bunun için bir çözüm bulmuş olabilirim. Sadece bu tekrar oldu ve yayınlama ayarları ile uğraşıyordum. Ayarlar sekmesindeki seçili Yapılandırmayı başka bir yapılandırmaya değiştirdikten sonra tekrar kullanmak istediğim tüm dosyalarımı yeniden yayınlamaya başladım. Umarım bu gelecekte başka projeler üzerinde de çalışır.

GÜNCELLEME 2:

Microsoft Connect'te bir hata gönderdim ve VS Web Developer ekibindeki bir geliştiriciden haber aldım. Bu sorunu dahili yapılarında düzelttiklerini ve yakında bu sorunu çözecek yayın aracında bir güncelleme yayınlayacaklarını söyledi.

GÜNCELLEME 3:

Bu, yakın zamanda Visual Studio 2012 Güncelleştirme 2 ile giderilmiştir


1
Bu garip. Klasör yayınlanıyor / ... görürseniz, düzgün çalışmalıdır. Yoluna bakmanı öneririm. Doğru yere baktığınızdan emin olun.
maxisam

14
Bu, Visual Studio 2012 ile Windows 8'de başıma geldi. Şimdi yeni bir yayınlama profili oluşturdum ve işe yarıyor! Muhtemelen VS 2012'de bir hata.: /
T.Ho

3
Ben de aynı problemi yaşadım. Yayınlama profilini silmek ve yeniden oluşturmak benim için bir işti.
Tommy Jakobsen

3
Profilleri silmek ve yeniden oluşturmak benim için hile yaptı.
Michael Wells

3
Bu, Visual Studio Güncelleştirme 2'de veya Güncelleştirme 3'te düzeltilmedi. Sadece profili düzenleyin ve "Ayarlar" sekmesinde - listeden doğru yapılandırmayı seçin (sürüm iyi ise, hata ayıklamayı seçin, kaydedin, sonra tekrar düzenleyin ve sürümü seçin). Kaydet ve yayınla.
firepol

Yanıtlar:


78

Bunun nedeni, vs2012'nin RC'si ile oluşturulan çözümler / projeler olabilir. Bu bana aylar önce oldu ve çözüm derleme konfigürasyonlarımın proje konfigürasyonlarımla eşleştiğinden emin olarak sorunu düzeltti ...

Kısa bir süre önce, VS2012 Express for Web ile vs2012RC'de oluşturulan aynı çözümü açarken aynı sorunu yaşadım. Orijinal posterin önerisini aynen yaptım ve sorunumu düzeltti.

İşte beni cevaba götüren konu:

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

Yukarıdaki sohbetten bana yardımcı olan ilgili yanıt şuydu:

Microsoft tarafından 6/13/2012 tarihinde 12:00 PM tarihinde gönderildi Merhaba Andrew,

Bu, çözüm yapılandırmasını proje yapılandırmasıyla nasıl ele aldığımızla ilgili bir hataydı. Hatalı olarak aynı olduklarını varsaydık (ör. Solution Release | x86, her bir projenin Release | x86 olarak da ayarlanacağını) ve bu da dosyaları yayınlamak için yanlış derleme özelliklerini kullanmamıza neden oldu.

Çözüm, çözüm yapılandırmasını ve derleme yapılandırmasını eşleştirmektir. Bu sorun, Visual Studio 2012'nin bir sonraki sürümünde giderilecektir.

Teşekkürler, - Jimmy Lewis SDET, Visual Web Developer ekibi


8
Bu sorun, yeni bir Visual Studio 2012 projesinde benim için oluşur. Geçmişte FTP üzerinden yayınlandı, ancak şimdi Yayınlamaya çalıştığımda tam olarak yukarıdaki gibi yapıyor - başarılı olduğunu söylüyor, başarılı olduğunu söylüyor ve hiçbir şey itmiyor. Çıktıları obj dir için derler, ama aslında hiçbir zaman sunucuya kopyalamaz. Değişiklik Yapılandırma hilesi bunu düzeltir.
Chris Moschini

12
Hey! Hala SP2'de kırıldı!

6
Ben sadece aynı sorunu vardı ve bunun yayın ayarları varsayılan olarak "Herhangi bir CPU" varsayılan, ancak benim çözüm "x86" olarak ayarlanmış olduğunu fark ettim. Yayınlama'daki Ayarları x86 olarak değiştirmek sorunu çözdü.
Sam

Yukarıdaki çözümlerin hiçbiri benim için işe yaramıyor. Profilleri silme ve yeniden oluşturma, yapılandırmayı değiştirme ve geri değiştirme, VS'yi yeniden başlatma, tümünü yeniden oluşturma vb. Uygulamamda yeni bir görünüm oluşturdum. Orada. Onu görebiliyorum. Yerel olarak çalıştırdığımda görüntülenir. Yayınladığımda, orada değil. 4. güncelleme var.
Robert

Benim için işe yarayan tek şey, görüşümü projeden silmek ve tekrar eklemek. Burada yeni bir şey olduğu fikrine kadar IDE'yi uyandırıyor gibi görünüyor. Böylece VS'nin nerede izlediği proje eklemeleri ve çıkarmaları söz konusu olabilir.
Robert

104

Aynı sorun. Geçici çözüm yayınlama ayarlarını Release'den Debug'a değiştiriyordu. Yeniden yayınlayın ve ardından Sürüm olarak değiştirin ...


EVET! Bu iyi bir yanıt. Benim durumumda varsayılan "Release" veya "Debug" profillerini değil, "DEV", "STAGE" ve "LIVE" profillerini kullanıyorum. Örneğim, STAGE için, TFS yoluyla çözümümü indiren bir meslektaş bilgisayarında, profilin yanlış "Release" olarak ayarlandığını gördüm (diğer tüm profiller için aynı). Bu yüzden sadece düzeltmek ve "STAGE" (ya da diğerleri için DEV / LIVE) 'a yönlendirmek zorunda kaldım. Yayın çalıştı. Teşekkür ederim.
firepol

Bir cazibe gibi çalıştı. Bu cevap kabul edilen cevap olmalıdır.
Aycan Yaşıt

39

Bunu biraz daha ileri götürmek için. Bir yayınlama profili oluşturduğunuzda oluşturulan iki dosyanız var.

  • NewProfile.pubxml
  • NewProfile.pubxml.user

Bu dosyaları içeren bir projeyi bir kaynak denetiminden PublishProfile klasöründe açtığınızda, .pubxmldosyayı değil .publxml.userdosyayı içerir, böylece .publxml.userprojeyi açtığınızda dosyayı anında oluşturur . .publxml.userAnında yeni oluşturduğunda xml şöyle görünür:

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

Yeni bir profil oluşturduğunuzda şöyle görünür:

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

<PropertyGroup>Düğümü alıp .pubxml.userdosyaya koyarsanız PublishProfiles'ınız yeniden çalışmaya başlar.


5
+1 Bana öyle geldi. İki dosyayı açıp yeni bir profil oluşturduktan sonra karşılaştırmanızı biraz kolaylaştırır. Ayrıca, bir ekipte çalışılıyorsa her iki dosyanın da kaynak kontrolünde kontrol edilmesi gerektiğini buldum.
Deano

@Deano Herhangi bir * .user dosyasını kontrol etme sorunu artık bireysel (yerel) proje özelleştirme yeteneğinizin olmamasıdır. Kullanıcı dosyasının amacı, bireysel ekip üyelerinin kendi yerel ayarlarına sahip olmasına izin vermektir.
Dave Riedl

Kaynak denetimine ".pubxml.user" dosyasını eklemek yerine başka bir çözüm var mı?
Ubikuity

* .User dosyalarını kaynak denetimine almıyoruz, ancak bu arada, Sürekli Entegrasyon sunucumuz ve derleme sürecimiz olarak Visual Studio içindeki yayınlama profilini kullanmıyoruz ...
Brett Rigby

21

Kolay bir düzeltme, yayınlama profilinizi silmek ve yeni bir profil oluşturmaktır.

çözümünüzü sağ tıklayıp yayınlamayı seçtiğinizde bir profil ayarınız olur. bunu silin ve yeni bir tane oluşturun.

bu sorunu düzeltir.

2010'dan 2012'ye geçişten bu sorunu yaşadım


Bu benim için çalışıyor, yaptığım yerel makinedeki profilleri silmek ve onları yeniden oluşturmaktı. Bu, diğer geliştirme makinelerini etkilemez.
Jean Jimenez

Ben vs2013 vs2012 geçiş projesi bu sorun vardı ve bu tamamen sorunu düzeltti
NikiUsefi

Bu benim için çalıştı. Bu adımları (dosya sistemi) yayınlama profilimi yeniden oluşturmak için kullandım: stackoverflow.com/a/20616521/381082
DeveloperDan


8

Ben aynı konu vardı ancak bu konudaki cevapların hiçbiri benim için çalıştı. Benim sorunum dinamik olarak oluşturulan (benim app tarafından) statik HTML dosyaları içeren bir dizin olmasıydı. Dizinin tamamı yayınlanmıyordu.

Benim için işe yarayan çözüm burada bulundu :

Bir süre önce aldım ve belgelemem gerektiğini düşündüğüm bir konu, projemi yayınladığımda belirli dosya türlerinin yüklenmediğiydi.

Söz konusu dosya türleri .pdf dosyaları ve .rtf idi.

Bunun nedeni, bu dosya uzantılarının Visual Studio tarafından yayımlanması gerektiği olarak tanınmamasıydı. Neyse ki bu Visual Studio'da değiştirilebilir.

Kopyalanmayan dosyaları seçin. Gelen Özellikler sağlamak Eylem Oluştur ayarlandığında İçerik .

Bu işe yaramazsa aşağıdakiler denenebilir.

Proje menüsü altında Web'i Paketle / Yayınla'yı seçin ve bu açılır menüye dikkat edin:

resim açıklamasını buraya girin

Bunu bu proje klasöründeki Tüm dosyalar olarak değiştirmeyi deneyin.


Bu durumum için işe yaradı - dosyaların yalnızca BAZI yayınlandığında.
AndrewRalon

Bu sadece dosyalar projeye düzgün bir şekilde dahil edilmediğinden işe yaradı.
Temel

Hangi cevabı kast ediyorsun?
Tomas Kubes

7

Bunun nedeni, .pubxml.user öğesinin yayınlamak için gerekli bilgileri içermesi ve bu dosyanın kaynak denetimine dahil olmaması (ve olmaması) gerekmesidir. Bu VS hatasını düzeltmek için, bilgileri .pubxml.user dosyasından .pubxml dosyasına kopyalayın. İlgili özellikler:

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

Bunları .pubxml'inize koyun ve gitmek için iyi olmalısınız.


7

Tüm bu çözümleri denedim ama bu her seferinde işe yarıyor.

Sadece "Yayınlama yöntemi:" ni "Dosya Sistemi" nden örneğin "Web Dağıtımı" olarak değiştiririz ve hemen "Dosya Sistemi" olarak değiştiririz.


Evet, nihayet benim için de işe yaradı (yukarıdaki tüm diğer önerileri denedim). Bu vs2010 ile
Karen

5

Birkaç proje için de aynı problemi yaşadım. Vurulanlar sadece web projeleri gibi görünüyor. Profili silmek ve yeniden oluşturmak sorunu yalnızca bir kez çözer. Ek olarak, oluşturulan yayımlamaxml'in karşılaştırılması hiçbir fark vermez, bu nedenle profil ile hiç ilgili görünmüyor.

OP'nin derleme sorunlarını ileri geri değiştirmek için bahsedilen geçici çözüm şu anda tek güvenilir çözüm gibi görünüyor.


Aynı geçici çözüm benim için tek düzeltme oldu. Açıklığa kavuşturmak için şu adımları izleyin: Oluştur> Yayınla. Soldaki Ayarlar sekmesini seçin. Yapılandırma Yapılandırmasını başka bir şeyle değiştirin. Yayınlama Profili adının yanında artık bir yıldız işareti (*) göreceksiniz - bu, hatanın engellendiği bir işarettir. Yapılandırma Yapılandırmasını istediğiniz gibi değiştirin. Yayınlama ile normal şekilde devam edin. Sabit.
Chris Moschini

4

Aynı sorunu VS 2010'da yayınladım, olay günlüklerini kontrol ettikten, görsel stüdyo günlüklerini vb. Kontrol ettikten sonra çalıştırdım. Daha sonra v1'e güncellendiğine inandığım web yayınını (ekleme / kaldırma yoluyla) kaldırmaya karar verdim. 0.30810.0. Bu sorunu çözdü.


2
Biz, bu sorunu vardı altında PublishProfiles içinde pubxml.user dosyasına klasörü kaynaklandığı düşünülmektedir My Projesi - mayın rağmen yayınlama dosyaların bir makine tarafından oluşturulan listesi vardı dokümantasyon (bu dosya sadece bana ayarlar özgü mesele olduğunu söyledi ve bu nedenle kaynak kontrolüne yerleştirilmez). Tamam yayınlayabildim. Meslektaşım kaynak kodumuzun yeni bir kopyasını aldı ve yayınlayamadı - pubxml.user dosyası oluşturulduğunda hiçbir dosya listelenmedi. Güncellenmiş web yayınını kaldırdık ve her şey yolunda.
Nick

4

Burada da aynı problem vardı.

Sadece "Yayınlama yöntemi:" ni "Dosya Sistemi" nden örneğin "Web Dağıtımı" olarak değiştiririz ve hemen "Dosya Sistemi" olarak değiştiririz.


bu en tepede olmalı
JoeBrockhaus

Bu, Visual Studio 2012 Güncelleştirme 3
KoalaBear

4

Aşağıdakiler benim için çalıştı:

Release> Debug> Release'den (ya da tam tersi) değiştirin ve ardından yayınlayın.

İhtiyacınız olmayan hiçbir şeyi silmenize, düzenlemenize, yayınlamanıza gerek yok.


4

Sorunum myproject.csproj dosyasının yanlış yapılandırmasındaydı. '_address-step1-store.cshtml' dosyası yayınlandığında kopyalanmadı. 'Hiçbiri', 'İçerik' olarak değiştirildi, şimdi sorun yok. resim açıklamasını buraya girin


BU OLDU! Projede, kaynak denetimine Nonealınmış , ancak .csproj dosyasında olduğu gibi işaretlenmiş veya projede tamamen eksik olan çok sayıda dosya vardı ("kullanılmış" değil)! Bu , yerel olarak çalışmanın neden her zaman işe yaradığını tam olarak açıklıyor, ancak yayıncılık hiç olmadı. : D
AndrewRalon

3

Disk yayınlama hedefi olan VS 2012 Pro ile aynı sorun. Project doğru şekilde yayınlardı, ancak dosyaları hedef klasöre kopyalayamadığı bu sorunu yapmaya başladı.

Çözüm, yayınlama profilini düzenlemek, modu Release (Any CPU) iken hata ayıklamak ve ardından Release (Any CPU) olarak değiştirmekti. Bunu yapmak PublishProfiles \ projname.pubxml.user dosyasının yeniden yazılmasına neden olur (yukarıda açıklandığı gibi). Özellik grubu düğümü altına LastUsedBuild, LastUsedPlatform ve TimeStampOfAssociatedLegacyPublishXmlFile öğelerini eklediği anlaşılıyor. Yayınlama işlemi tamamlandıktan sonra, tek tek dosyaları ve yayınlama zamanlarını içeren başka bir ItemGroup ekler.


1

Bu işlem benim için başarılı oldu:

"Özellikler> PublishProfiles> xxxx.pubxml" klasöründeki Yayınlama Profillerini öldürün ve yeniden ayarlayın.


1

Değer için, sonunda Web Deploy ile savaşmaktan vazgeçtim ve istediğim şeyi yaptım (konuşlandırılabilir dosyaları kopyalayın ve başka bir şey), bu yüzden PowerShell'de yazdım ve sonuçtan gerçekten memnunum. Muhtemelen MSBuild / Web Publish üzerinden denediğim her şeyden çok daha hızlı, çünkü bu yöntemler hala ihtiyacım olmayan şeyleri yapıyorlardı.

İşte özü ( tam anlamıyla ):

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
}

Benim durumumda bunu bir CI ortamında (TeamCity) çağırıyorum, ancak kolayca bir post-build etkinliğine de bağlanabilir.


1

Hedef konumu obj / [release | stage | ..] yerine çözüm klasörleri dışında tamamen yeni bir yola değiştirerek bu sorunun üstesinden gelebildim, örneğin c: \ deployment. Görünüşe göre VS 2012'nin kafası karışıyor ve belki de yayınlama sürecinde bir yerden vazgeçiyordu.

Mat


1

Geçenlerde VS 2013'te Umbraco CMS ithal ettiğim bir MVC projesi için de aynı sorunu yaşadım. Yayınlayamadım. Yukarıdaki cevap yardımcı oldu, ancak VS'de gerçekten ne yapmam gerektiğini anlamak için biraz zamana ihtiyacım vardı. Bunu öğrenmek için MS bloglarında biraz araştırma yapılması gerekiyordu. Basit demeye çalışıyorum:

  • VS araç çubuğunda belirli bir yapılandırmayı seçin, örneğin Release ve Any CPU. Projeyi çalıştırın.
  • Daha sonra, söz konusu çözüm üzerinde Çözüm Gezgini'ne sağ tıklayın, Yayınla'yı seçin. Yeni bir yayınlama profili oluşturun veya belirli bir profil kullanın, ancak ayarlarda her zaman projeyi son çalıştırmadan önce olduğu gibi aynı yapılandırmanın (örn. Release ve Any CPU) seçildiğinden emin olun.
  • Ayrıca benim durumumda OBJ klasörünü silmek gerekiyordu çünkü burada başarısız olan son başarısız denememin ayarları sıkıştı, ancak VS'yi yeniden başlattım ve tüm yayınlama profillerini sildim.

0

Çözümde başvurulan birkaç proje ile bir Web Uygulamam var. Geçmişte birçok kez tek bir Yayınlama yapılandırmasıyla başarıyla konuşlandırdım. Geçmişte kaçırılmış olan bir Proje için Proje Yapılandırmasını Hata Ayıklamadan Serbest Bırakmaya değiştirdim. Bir daha konuşlandırmaya çalıştığımda, Yayıncı'nın sessizce başarısız olduğu bu belirtileri aldım - hiçbir şey yapmıyor ve başarılı olduğunu söylüyor:

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 ==========

Kurtarmanın tek yolu, Yayınlama profilini silmek, silme işlemini kaydetmek, yeniden açmak ve Yayınlama profilini sıfırdan yeniden oluşturmak için Visual Studio'yu kapatmaktı. Bunu yaptıktan sonra tekrar iyi yayınlayabilirim.

Win8 VS2012, berbat dizüstü bilgisayar.


0

Visual Studio 2012'de, sürümler arasında geçiş yapmak yine de sorunlara neden olur.

objKlasörü silmek için önceden oluşturulmuş bir etkinlik ekledik : del /s /f /q $(ProjectDir)\objyayınlanma sorunu düzeltildi. Temizlik bazen işe yarar, ama her zaman değil.


0

Sonunda cevabı kendim buldum. Yukarıdaki çözümlerin hepsi benim için çalışmıyor.

Yaptığım şey, proje klasörünü daha kısa bir şeye değiştirmek ve yayınlamak için sürmek için projeyi hareket ettirmek.

benim tarafımda başarısız olmasının nedeni çok uzun proje adı / heirarchy olmasıdır.

C: \ Kullanıcılar \ kullanıcı \ Masaüstü \ Uyumluluk Yönetim Sistemi \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem

Bunu düşündüm çünkü bazen rar dosyasını ayıkladığımda adın / yolun çok uzun olduğunu söylüyor. Visual studio 2012 yayıncılığıyla aynı olacağını düşündüm. ve öyle!

size yardımcı olacağını umuyoruz.


0

Mevcut projenizi, aynı sınıf adı ve farklı sayfa adıyla geri kopya yapıp yapmadığınızı kontrol edin (Sınıf adı kopyalanan dosyayı devralır). Sonuçta bu derleyiciyi karıştırır !!!

CodeFile = "Consolidated.aspx.vb" Devralma = "Konsolide


0

Yukarıdaki çözümlerin hiçbiri benim için işe yaramadı.

Ancak, ana çözümümüzdeki beş ASP.NET MVC projemizden dördünün dağıtım paketini doğru yere koyarken biri obj \ Debug altında bıraktığını fark ettim.

Projeleri karşılaştırdım ve bir tutarsızlık buldum. Çözüm bunu değiştirmekti :

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

buna :

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

Bu değişikliği yaptıktan sonra, beş projenin hepsi dağıtım paketlerini doğru yere koydu.

(Uzun çizgiler için üzgünüm, ama onları yoğunlaştırmanın daha iyi bir yolunu bulamadım.)


Bir veya iki dosyanın göz ardı edildiği ve sunucuya yayınlanmadığı bir durum yaşıyorum, ancak .vbproj
dosyamda

0

Ben Visual Studio oluşturulan Service Reference dosyaları genel yol uzunluğu açısından çok uzun hale ile karşılaştım .

Svcutil.exe'yi kullanarak Hizmet Başvurusu'nu yeniden oluşturarak, tüm özgün Hizmet Başvurusu dosyalarını silerek bunları kısaltın.

svcutil şu şekilde adlandırılabilir:

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

Derleme hatalarını önlemek için, My.Namespace, oluşturulan hizmet proxy'sindeki varolan ad alanı ile değiştirilmelidir (genellikle Reference.cs dosyasında bulunur).

http://myservice servis bitiş noktası URL'si ile değiştirilmelidir.


0

Aynı problemle karşılaştım. Yukarıdaki çözümlerin hiçbiri benim için işe yaramadı.

Bu nedenle, yayınlama sırasında kopyalanamayan dosyaları hariç tuttum.


0

Web sitesini birkaç kez yayınlamıştım. Ancak bir gün aspx dosyasını değiştirip web sitesini yayınlamaya çalıştığımda, boş bir yayınlanmış klasörle sonuçlandı.

Geçici çözümümde bir çözüm buldum.

  1. Yayınlama sihirbazı, yayınlama sırasında herhangi bir hatayı yansıtır, ancak hedef klasöre herhangi bir dosya kopyalamaz.

  2. Hatayı oluşturan dosyayı bulmak için, web sitesi klasörü içeriğini yeni bir klasöre kopyalayın ve görsel web sitesini bu web sitesiyle başlatın.

  3. Şimdi yayınlamaya çalıştığınızda hata içeren dosya adını verecektir.

  4. Sadece orijinal web sitesi klasöründeki hatayı düzeltin ve yayınlamaya çalışın, daha önce olduğu gibi çalışacaktır.


0

Çözümlemek için şu adımları izleyin:

Build > Publish > Profile > New

Yeni bir profil oluşturun ve mevcut profilinizle aynı ayarlarla yapılandırın.

Proje şimdi doğru şekilde yayınlanacaktır. Bu genellikle, Visual Studio'nun daha yeni bir sürümünde oluşturulmuş başka bir makineden alınan kaynak denetimli yayımlama profili sonucunda oluşur.


0

SABİT - sunulan çeşitli çözümler benim için işe yaramadı. VS Community 2017, Windows Server 2012 R2 ile benim için işe yarayan, kullanıcı için TEMP ve TMP çevresel değişkenlerini değiştirmek ve sistemi yeniden başlatmak ve yeniden dağıtmaktı (VS'yi yeniden başlatmak yeterli değildi). Bu geçici değişkenler VS'nin geçici yayın yaptığı yerdir.

resim açıklamasını buraya girin

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Geçici değişkenleri değiştirdikten sonra görsel stüdyoyu yeniden başlatmak hile yapmadı, sistemi yeniden başlatmak zorunda kaldı.


-1

İlk:

  • Derleme sürümü Yapılandırma.
  • Proje Özellikleri-> sayfasında, Web'i Paketle / Yayımla altındaki Tüm dosya ve klasörler'i seçin.
  • Çözeltiyi yeniden oluşturun (Temiz çözeltiden sonra).
  • şimdi yayınla.

Yayınlarken ne seçtiğinizi tekrar kontrol edin.
bunu yapmalı. Benim için yaptı! :)


-2

En kolayı,

   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!
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.