有没有办法引用(在XAML中)名称中带有空格的程序集?

Tau*_*ris 8 xaml

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

示例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"
    >
Run Code Online (Sandbox Code Playgroud)

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

未知的构建错误,''clr-namespace:Some.Namespace; assembly =某些具有空格的程序集在名称中'映射URI无效.4号线位置2.'

放'或' 程序集名称周围没有帮助.

小智 5

该解决方案似乎解决了我在程序集名称中出现空格的问题。


Tow*_*own 1

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

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

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

如果我对没有空格的程序集执行相同的操作,则一切都很好。

顺便说一句,您正在定义xmlns:local名称空间,但引用不同的程序集 - 如果您的名称空间确实是本地的,您可以执行以下操作:

<xmlns:local="clr-namespace:Some.Namespace"/>
Run Code Online (Sandbox Code Playgroud)