【问题标题】:Is there any way to reference (in XAML) an assembly with spaces in its name?有没有办法引用(在 XAML 中)名称中带有空格的程序集?
【发布时间】:2020-01-15 00:12:32
【问题描述】:

不能引用名称中包含空格的程序集吗?我真的必须重命名我的程序集以不包含空格吗?有没有办法逃离这些空间?我找不到很多有这个问题的人,更不用说任何解决方案了......

XAML 示例:

<UserControl x:Class="SomeClass"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Some.Namespace;assembly=Some Assembly With Spaces In The Name"
    >

这是编译器在您尝试执行此操作时给您的错误:

未知的构建错误,“clr-namespace:Some.Namespace;assembly=Some Assembly With Spaces In The Name”映射 URI 无效。第 4 行位置 2。'

把 ' 或 "围绕程序集名称没有帮助。

【问题讨论】:

    标签: xaml


    【解决方案1】:

    This solution 似乎已经为我解决了程序集名称中的空格问题。

    【讨论】:

      【解决方案2】:

      This 看起来像您所指的错误,即“已修复”...

      我刚刚在单独的程序集中遇到了与 ValueConverter 类似的问题,构建它的方法是在我的 ValueConverter 类中包含一个默认构造函数。否则,如果它包含在名称中带有空格的程序集中,VS 将不会构建它。

      不幸的是,它会构建,但当我实际运行它时,它会以 XamlParseException 崩溃。

      如果我做同样的引用没有空格的程序集,一切都很好。

      顺便说一句,您定义了 xmlns:local 命名空间,但引用了不同的程序集 - 如果您的命名空间确实是本地的,您可以这样做:

      <xmlns:local="clr-namespace:Some.Namespace"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多