为什么我在 Web.Release.config XML-Document-Transform 文件中收到缺少所需属性“名称”的警告?

2024-06-24

I'm trying to remove all service endpoint mexHttpBinding nodes in my Web.Release.config file.

I found this answer https://stackoverflow.com/a/4945438/682480:
(I copied from my code file, so it's actually formatted differently than the answer )

<services>
    <service>

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

    </service>
</services>


The warning我收到的是<service> node:

缺少必需的属性“名称”。


我需要添加空字符串或通配符吗(如果有的话) to the name的属性<service>节点来解决这个警告?

另外,上面的转换不应该用<system.serviceModel>节点,还是没有?


这只是一个验证警告,因为您的 xml 不满足架构的验证要求。它实际上并没有什么意义,并且转换通常对完整的 xml 模式无效,因为它们本质上通常是部分定义。转型仍将发挥作用。除非您将属性指定为 xdt 转换条件的一部分,否则在转换中将忽略属性。

是的,您确实需要<system.serviceModel>元素。

如果您只是想让错误消失,您可以将 service name = 设置为项目中已有的服务名称,但这不会影响转换,它仍然适用于所有服务,因为该名称将被忽略(除非您在具有 name 属性的服务元素上放置了 xdt:locator 约束)。

但如果其他人必须维护它,这可能会令人困惑。最好留下警告并对其进行评论,或者输入名称并对其进行评论,无论哪种方式。

需要注意的是,这些只是editor警告。它们不是编译器或运行时警告。它们仅在您在编辑器中打开文件时才会出现,并且它们只是智能感知警告,因此它们对应用程序或构建的质量没有真正的影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我在 Web.Release.config XML-Document-Transform 文件中收到缺少所需属性“名称”的警告? 的相关文章

随机推荐