X öğesi için yayınlama özellikleri uygulanamıyor


91

Ana çözümümüzde bir derleme yaptığımızda aşağıdaki uyarıyı alırız:

"Microsoft.visualstudio.qualitytools.unittestframework" öğesi için yayınlama özellikleri uygulanamıyor.

Daha önce böyle bir şey gören oldu mu? Bunu nasıl düzelteceğine dair bir fikrin var mı? Bu, tüm geliştirici makinelerimizde ve ayrıca TFS oluşturma sunucumuzda da gerçekleşir. Ancak, yalnızca Hata Ayıklama modunda görünür.

Yanıtlar:


168

Sorunun ClickOnce ile ilgili olduğu anlaşılıyor. Projeye gidin, üzerine sağ tıklayın ve özelliklere tıklayın. Yayınla sekmesine gidin ve Uygulama Dosyaları'na tıklayın. "Tüm dosyaları göster" onay kutusunu işaretleyin ve dosya listesinde ilerleyin. Sonunda, üzerinde sarı bir ünlem işareti olan dosya ile karşılaşacaksınız. Bu dosya sahipsiz ve kaldırılması gerekiyor. Dosyaya sağ tıklayın ve bir kaldırma seçeneği bulunmalıdır.

Şimdi çözümü oluşturun ve uyarı gitmiş olmalı.


14
Bu iki kez bu sorunu Google'da araştırdım ve bu cevabı buldum. Sonunda öğreneceğim. : p
Nick Spreitzer

4
Show all filesanahtar burada.
MEMark

5
@NickSpreitzer Üçüncü kez benim için. Bu sefer kendi yorumuma bile şaşırdım.
MEMark

Ayrıca, 'PublishFile' bölümüyle ilgilenerek csproj dosyanızı güncelleyebilirsiniz. Elbette bunun çok dikkatli yapılması gerekiyor.
Jerome

3

En çok oylanan cevap, mevcut haliyle mükemmeldir, ancak daha büyük patlamalarla uğraşan bizler bu alternatif cevaptan yararlanabilir. Dosya düzeyinde benzer bir düzeltmeyi açıklar.

Uyarıya aşağıdaki gibi bir unsur neden olur:

<PublishFile Include="THIS IS USUALLY SOME IMAGINARY DLL">
  <Visible>False</Visible>
  <Group>
  </Group>
  <TargetPath>
  </TargetPath>
  <PublishState>Exclude</PublishState>
  <IncludeHash>True</IncludeHash>
  <FileType>Assembly</FileType>
</PublishFile>

... proje dosyasında (.csproj) uyarı yayan. PublishState "Hariç Tut" seçeneğine dikkat edin; bu öğe "lütfen hayali DLL'yi yayınlamayın" der; Bu açık bir şekilde, eğer böyle bir DLL yayınlama zamanında herhangi bir yerde böyle bir DLL yoksa gereksiz bir talimattır, ancak aynı zamanda uyarıya da neden olur çünkü yayınlama işlemi dosyanın kimliğini değerlendiremez.

PublishFilePublishState "Hariç Tut" özelliği olduğu sürece, uyarılarda belirtilen her dağıtım öğesi için tüm öğeyi kaldırabilirsiniz . PublishState "Hariç Tut" ile her öğeyi mekanik olarak kaldırmayın, çünkü bununla ilgili herhangi bir uyarı yoksa, dosya büyük olasılıkla yayınlama zamanında kullanılabilir ve yayınlanabilir - bu, yalnızca istediğiniz sürece istenmeyen bir ürün değişikliği olur uyarıdan kurtulun.

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.