asp.net - 为什么我在 Web.Release.config XML-Document-Transform 文件中收到所需的属性 'name' is missing 警告?

标签 asp.net web-config-transform xml-document-transform web-debug-config web-release-config

我正在尝试删除 所有服务端点 mexHttpBinding 我的 中的节点Web.Release.config 文件。

I found this answer :

(我从我的代码文件中复制,所以它的格式实际上与答案不同)

<services>
    <service>

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

    </service>
</services>

警告 我收到的是 <service> 节点:

The required attribute 'name' is missing.



我是否需要向 添加一个空字符串或通配符(如果有)? name 的属性<service> 节点解决此警告?

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

最佳答案

这只是一个验证警告,因为您的 xml 不符合架构的验证要求。它实际上并不意味着什么,并且转换通常对完整的 xml 模式无效,因为它们本质上通常是部分定义。转型仍将奏效。属性在转换中将被忽略,除非您将它们指定为 xdt 转换条件的一部分。

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

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

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

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

关于asp.net - 为什么我在 Web.Release.config XML-Document-Transform 文件中收到所需的属性 'name' is missing 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808096/

相关文章:

visual-studio-2010 - 使用 Microsoft 的 xml 文档转换来转换 web.config 会添加不需要的空格

asp.net - 在 asp.net 中获取母版页错误

jquery - 在asp.net mvc中使用jQuery datepicker的问题

asp.net - Google reCaptcha V2 实现 VB.net

c# - ASP.NET 4.0 中的 SameSite cookie

xpath - Web配置转换条件/匹配以基于父节点属性选择节点

xml - Web.Config 转换不更改任何值

asp.net - MSBuild 脚本和 VS2010 发布应用 Web.config 转换