一部の機能/ファイルをあるソリューションから別のソリューションにコピーしました。フォルダを持っているソリューション1では同じアセンブリ内のResourceDictionaryが見つからないのはなぜですか?
私はWindowsアプリケーションDemoApp1を持っている:
作品以上- シェル
- リボン/リソース
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Ribbon/Resources/Ribbon.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
問題はありません。
解決策2では、WindowsアプリケーションDemoApp2がほとんどありません。 Appクラスは、ほとんどのことを行うC#クラスライブラリDemoApp2Featureのクラスから継承します。
シェルとRibbondのフォルダ構造とファイルは、クラスライブラリDemoApp2Featureと同じです。ただし、上記の結果は次のようになります。
XamlParseException 'プロパティ' System.Windows.ResourceDictionary.Sourceが 'excetionをスローしました'を設定します。私はVS2015の例外の詳細に見てみると
はBASEURIは、次のようになります。
{パック://アプリケーション:,,,/DemoApp2Feature;コンポーネント/シェル/ shellview.xaml}
私は維持したいと思いますこれらのMergedDictionaries定義を持つ数十のファイルが存在するため、DemoApp2Featureのファイルとフォルダ構造も同じです。だから、どのようにDemoApp2FeatureのResourceDictionariesを探す場所の基礎が何であるかを知ることができます。
感謝を!私は相対ファイルのURI URI(なぜなら、同じことを意味すると仮定します)のリソースファイルがIMOの "/SubFolder/ResourceFile.xaml"の実行時に実行されない理由を尋ねようとしています。他のソリューションでは、彼らは動作します。 –