5

tüm hizmet bitiş noktasını Web.Release.config dosyamda mexHttpBinding düğümleri kaldırmaya çalışıyorum.

I found this answer:
(benim kod dosyasından kopyalanmış, yani aslında cevabı daha farklı şekilde biçimlendirilir) Ben alıyorumWeb.Release.config XML-Document-Transform dosyamda neden 'name' eksik özniteliği eksik uyarısı alıyorum?

<services> 
    <service> 

     <endpoint binding="mexHttpBinding" 
        xdt:Locator="Match(binding)" 
        xdt:Transform="RemoveAll" /> 

    </service> 
</services> 


uyarı üzerindedir <service> node:

Gerekli özellik 'name' eksik.


I (eğer varsa) bu uyarıyı gidermek için<service> düğümün name özniteliği için boş bir dize veya joker eklemek gerekir mi?

Ayrıca, yukarıdaki dönüştürmenin <system.serviceModel> düğümüyle sarılması veya olmaması gerekir mi?

+0

Web.config dosyasında sahip olduğunuz adı belirtmeniz gerekir, böylece hangi hizmetin kaldırılacağını bilir. – artm

+0

Web'de, bunun geçerli bir uyarı olması gerektiğini öneren hiçbir şey görmedim. Web config dönüştürme dosyalarının Kod Analizi'nde bir hata gibi görünüyor. –

+0

editör intellisense hakkında konuşuyor musunuz? Yoksa gerçek dönüşümü yaparken bir hatadan mı bahsediyorsunuz? –

cevap

3

. Gerçekten bir şey ifade etmez ve dönüşümler tam xml şemasında geçerli değildir çünkü onlar, doğası gereği, genellikle kısmi tanımlardır. Dönüşüm hala işe yarayacak. Xdt dönüşüm koşullarının bir parçası olarak belirtmediğiniz sürece, öznitelikler dönüşümde göz ardı edilir.

Evet, <system.serviceModel> öğesine ihtiyacınız var.

Yalnızca hatanın gitmesini istiyorsanız, hizmet adını = projenizde bulunan bir hizmet adına ayarlayabilirsiniz, ancak bu dönüşümü etkilemez, adı tüm hizmetler için geçerli olacaktır. göz ardı edilmemelidir (xdt: konum özelliğine sahip hizmet öğesinde konum belirleyicisi kısıtlaması koymadıkça). Diğer insanların bunu sürdürmesi gerekiyorsa da, kafa karıştırıcı olabilir. Uyarıyı bırakmak ve yorumlamak ya da ismini koymak ve yorumlamak daha iyi olabilir.

Bunların yalnızca editörünün düzenleyicisi olduğuna dikkat edilmelidir. Derleyici veya çalışma zamanı uyarıları değildir. Yalnızca editörde açık dosyaya sahip olduğunuzda görünürler ve yalnızca intellisense uyarılarıdır, bu nedenle uygulamanızın kalitesi veya yapısının kalitesi üzerinde gerçek bir etkisi yoktur.

+0

Benim amacım budur. VS bir dönüşüm dosyası tanımalı ve bu uyarıları uygulamak değil gibi görünüyor. –

+0

@CodeMaverick - "olması gereken" şeyin ne olduğu konusunda şikâyetçi ... bu "ne" dir. Gerçek şu ki, muhtemelen uyarı istemediğinizi varsaymanın yanlış olduğu durumlar da vardır, bu yüzden MS her iki şekilde de şikayetler alır. Dosyanın özelliklerinde uyarıları devre dışı bırakmak için bir özellik ekleyebilirlerdi, ancak MS ne kadar çaba harcayacaksa, bu gerçekten bir mesele. –

+0

Eğer insanlar "ne" diye meydan okumaydı, o zaman değişim gerçekleşmezdi. Benim açım belki de dönüşüm dosyaları için farklı doğrulama şemaları olmalı, hepsi bu. –

-1

Servis için bir isim vermeniz gerekir.

<service name="serviceName"> 

İhtiyacı envolved edilecek: <system.serviceModel> xml şema doğrulama gereksinimlerini karşılayan olmadığından, sadece bir doğrulama uyarısı var

+0

Size oy vermek zorundayım. Sorum, açıkça _all_ hizmetleri için değil, tüm mexHttpBinding uç noktalarını kaldırmaya çalıştığımı açıkça gösteriyor. –

+0

@CodeMaverick - adın eklenmesi, tüm servisler için uç noktaları kaldırmaya devam edecek, yalnızca varsayılan olarak xslt işlemcisi tarafından öznitelikler göz ardı edildiği için validator'un kapatılması. Yani, çözümü denemeden bile düştün mü? –

+0

@ErikFunkenbusch Asıl soruma cevap vermiyor. Geçerliyse uyarıdan kurtulmak istiyorum. Görünüşe göre cevabınız ve araştırmamdan beri yaptığım araştırmalar, gerçekten olması gerekmediğinde şema doğrulama uygulamasından dolayı bir hata olduğunu gösteriyor. –