2010-06-22 6 views
2

J'ai travaillé sur une application WPF. Depuis que je conçois l'interface utilisateur dans Expression Blend 4 et travaille sur la partie code-behind dans Visual Studio 2010, je passe constamment d'un outil à l'autre.Impossible de trouver l'espace de nom MS.Internal.Media dans l'assembly

J'ai ajouté des contrôles Image à une grille existante et leur ai assigné quelques images. Dans Blend, j'ai construit le projet et l'ai exécuté. Travaillé très bien. Lorsque je suis passé à Visual Studio, j'obtiens cette erreur:

Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'MS.Internal.Media' that is not included in the assembly. C:\Users\Dennis\Documents\Visual Studio 2010\Projects\solutionName\projectName\MainWindow.xaml

Le concepteur ne peut pas être chargé avec cette erreur en attente. Cependant, le projet fonctionne à Blend et je peux le voir très bien ici.

Les déclarations sont les suivantes (dans la fenêtre):

<Window 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:MS_Internal_Media="clr-namespace:MS.Internal.Media;assembly=PresentationCore" mc:Ignorable="d" x:Class="projectName.MainWindow" 
     Height="272" Width="359" Loaded="Window_Loaded" WindowStyle="ThreeDBorderWindow" ResizeMode="NoResize" Icon="/projectName;component/Images/main.ico" 
     Title="Sample Project"> 

ce qui pourrait causer cette erreur?

Répondre

1

Il semble que ce soit un problème connu (peut-être que bug est un mot trop fort, si c'est un paramètre ou quelque chose qui me manque, alors heureux de se corriger sur celui-ci, de toute façon .... Studio - ça se passe encore dans VS2010 aussi.

Si vous supprimez la chaîne « clr-namespace: » dans le XAML, tout en vous laissant avec

xmlns:MS_Internal_Media="MS.Internal.Media;assembly=PresentationCore" 

il compilera bien et vous pouvez recharger le concepteur. Si vous avez ajouté à nouveau la syntaxe de l'espace de noms clr, cela se passera bien, mais le concepteur sera toujours bloqué. Je crois que cela doit être un problème dans Visual Studio lui-même.

Espérons que cette solution de contournement vous aidera au moins à charger le concepteur et à construire le projet. Après avoir joué avec cela un peu plus, je pense que le problème est probablement le fait que cet assemblage n'a pas de types publics. En regardant l'assemblage dans .Net Reflector ils sont tous des classes internes. La même erreur que vous obtenez dans VS est levée pour tous les assemblys où thare n'est aucun type public. Je m'attends à ce que l'interface de Blends ne vérifie pas ceci ou le manipule mieux.