IoC コンテナーに Unity を使用しており、ブートストラップには次のコードがあります。
protected override IModuleCatalog CreateModuleCatalog()
{
  return Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml(
    new Uri("modulecatalog.xaml", UriKind.Relative));
}
そして、これを含む「modulecatalog.xaml」という名前のxmlファイルを作成しました。
<?xml version="1.0" encoding="utf-8" ?> 
<Modularity:ModuleCatalog
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:sys="clr-namespace:System;assembly=mscorlib"
  xmlns:Modularity="clr-namespace:Microsoft.Practices.Prism.Modularity;assembly=Microsoft.Practices.Prism">
</Modularity:ModuleCatalog>
そして、Microsoft.Practices.Prism.Modularity が見つからず、Modularity:ModuleCatalog が見つからないという xaml のエラーが既に発生しています。
これは非常にイライラします。私のプロジェクトには Microsoft.Practices.Prism が含まれています。私の Bootstrapper のコードはコンパイルされるので、明らかに Microsoft.Practices.Prism.Modularity.ModuleCatalog が存在します。しかし、CreateModuleCatalog 関数を次のように変更すると、さらに奇妙になります。
using Microsoft.Practices.Prism.Modularity;
...
protected override IModuleCatalog CreateModuleCatalog()
{
  return ModuleCatalog.CreateFromXaml(
    new Uri("modulecatalog.xaml", UriKind.Relative));
}
CreateFromXaml が ModuleCatalog に存在しないと表示されます。ModuleCatalog を見つけるのに問題はありませんが、毎回完全な名前空間を入力しないと、その関数は明らかに存在しません。何が起きてんだ?