2011-03-16 18 views
6

¿No es posible hacer referencia a un conjunto que tenga espacios en su nombre? ¿Realmente tengo que cambiar el nombre de mis ensamblajes para que no contengan espacios? ¿No hay forma de escapar de los espacios? No puedo encontrar muchos casos de personas que tienen este problema, y ​​mucho menos ninguna solución ...¿Hay alguna manera de hacer referencia (en XAML) a un conjunto con espacios en su nombre?

Ejemplo 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" 
    > 

y este es el error que el compilador le da al intentar hacer esto:

error de generación Desconocido '', CLR-espacio de nombres: Some.Namespace; montaje = Un poco de asamblea con espacios en el nombre de' mapeo URI no es válido. Línea 4 Posición 2. '

Putting 'o & quot; alrededor del nombre del ensamblado no ayuda.

Respuesta

1

This parece que el error que usted se refiere, que es 'fijo' ...

acabo de tener un problema similar con un ValueConverter en un ensamblado independiente, y la manera de conseguir que se build debía incluir un constructor predeterminado en mi clase ValueConverter. Sin eso, VS no lo compilará si está contenido en un ensamblaje con espacios en el nombre.

Desafortunadamente, se desarrolla pero luego se cae con un XamlParseException cuando realmente lo ejecuto.

Si hago lo mismo al hacer referencia a un conjunto sin espacios, todo está bien.

Como acotación al margen, que está definiendo el espacio de nombres xmlns:local pero referenciado de un conjunto diferente - si su espacio de nombres es incluso local sólo se puede hacer:

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

This solution parece haber solucionado el problema para mí con espacios en el nombre del ensamblado.

Cuestiones relacionadas